diff --git a/setup.py b/setup.py index ad56a0c9e4..b0ff04a983 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,8 @@ if __name__ == '__main__': resources, clean, gui, translations, update, \ tag_release, upload_demo, build_linux, build_windows, \ build_osx, upload_installers, upload_user_manual, \ - upload_to_pypi, stage3, stage2, stage1, upload + upload_to_pypi, stage3, stage2, stage1, upload, \ + upload_rss entry_points['console_scripts'].append( 'calibre_postinstall = calibre.linux:post_install') @@ -170,6 +171,7 @@ if __name__ == '__main__': 'upload_installers': upload_installers, 'upload_user_manual': upload_user_manual, 'upload_to_pypi': upload_to_pypi, + 'upload_rss' : upload_rss, 'stage3' : stage3, 'stage2' : stage2, 'stage1' : stage1, diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index de133ddb57..807ce1def5 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -3,11 +3,13 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' __docformat__ = 'restructuredtext en' import sys, os, re, logging, time, subprocess, atexit, mimetypes, \ - __builtin__ + __builtin__, warnings __builtin__.__dict__['dynamic_property'] = lambda(func): func(None) from htmlentitydefs import name2codepoint from math import floor -from logging import Formatter + +warnings.simplefilter('ignore', DeprecationWarning) + from PyQt4.QtCore import QUrl from PyQt4.QtGui import QDesktopServices @@ -24,11 +26,17 @@ mimetypes.add_type('text/x-sony-bbeb+xml', '.lrs') mimetypes.add_type('application/xhtml+xml', '.xhtml') mimetypes.add_type('image/svg+xml', '.svg') mimetypes.add_type('application/x-sony-bbeb', '.lrf') +mimetypes.add_type('application/x-sony-bbeb', '.lrx') mimetypes.add_type('application/x-dtbncx+xml', '.ncx') mimetypes.add_type('application/adobe-page-template+xml', '.xpgt') mimetypes.add_type('application/x-font-opentype', '.otf') mimetypes.add_type('application/x-font-truetype', '.ttf') mimetypes.add_type('application/oebps-package+xml', '.opf') +mimetypes.add_type('application/ereader', '.pdb') +mimetypes.add_type('application/mobi', '.mobi') +mimetypes.add_type('application/mobi', '.prc') +mimetypes.add_type('application/mobi', '.azw') +guess_type = mimetypes.guess_type import cssutils cssutils.log.setLevel(logging.WARN) @@ -86,6 +94,8 @@ def prints(*args, **kwargs): for i, arg in enumerate(args): if isinstance(arg, unicode): arg = arg.encode(preferred_encoding) + if not isinstance(arg, str): + arg = str(arg) file.write(arg) if i != len(args)-1: file.write(sep) @@ -318,24 +328,6 @@ def english_sort(x, y): ''' return cmp(_spat.sub('', x), _spat.sub('', y)) -class ColoredFormatter(Formatter): - - def format(self, record): - ln = record.__dict__['levelname'] - col = '' - if ln == 'CRITICAL': - col = terminal_controller.YELLOW - elif ln == 'ERROR': - col = terminal_controller.RED - elif ln in ['WARN', 'WARNING']: - col = terminal_controller.BLUE - elif ln == 'INFO': - col = terminal_controller.GREEN - elif ln == 'DEBUG': - col = terminal_controller.CYAN - record.__dict__['levelname'] = col + record.__dict__['levelname'] + terminal_controller.NORMAL - return Formatter.format(self, record) - def walk(dir): ''' A nice interface to os.walk ''' for record in os.walk(dir): diff --git a/src/calibre/constants.py b/src/calibre/constants.py index aebcb35dc0..6950c66526 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.143' +__version__ = '0.5.1' __author__ = "Kovid Goyal " ''' Various run time constants. diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index fafe8e5afa..d37e241891 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -132,13 +132,24 @@ class HTMLMetadataReader(MetadataReaderPlugin): class MOBIMetadataReader(MetadataReaderPlugin): name = 'Read MOBI metadata' - file_types = set(['mobi', 'prc', '.azw']) + file_types = set(['mobi', 'prc', 'azw']) description = _('Read metadata from %s files')%'MOBI' def get_metadata(self, stream, ftype): from calibre.ebooks.mobi.reader import get_metadata return get_metadata(stream) + +class TOPAZMetadataReader(MetadataReaderPlugin): + + name = 'Read Topaz metadata' + file_types = set(['tpz', 'azw1']) + description = _('Read metadata from %s files')%'MOBI' + + def get_metadata(self, stream, ftype): + from calibre.ebooks.metadata.topaz import get_metadata + return get_metadata(stream) + class ODTMetadataReader(MetadataReaderPlugin): name = 'Read ODT metadata' @@ -244,11 +255,12 @@ class MOBIMetadataWriter(MetadataWriterPlugin): from calibre.ebooks.epub.input import EPUBInput from calibre.ebooks.mobi.input import MOBIInput -from calibre.customize.profiles import input_profiles +from calibre.ebooks.oeb.output import OEBOutput +from calibre.customize.profiles import input_profiles, output_profiles -plugins = [HTML2ZIP, EPUBInput, MOBIInput] +plugins = [HTML2ZIP, EPUBInput, MOBIInput, OEBOutput] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataReader')] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ x.__name__.endswith('MetadataWriter')] -plugins += input_profiles \ No newline at end of file +plugins += input_profiles + output_profiles \ No newline at end of file diff --git a/src/calibre/customize/conversion.py b/src/calibre/customize/conversion.py index aa7b0c1dea..a77e32beee 100644 --- a/src/calibre/customize/conversion.py +++ b/src/calibre/customize/conversion.py @@ -24,7 +24,7 @@ class ConversionOption(object): self.choices = choices if self.long_switch is None: - self.long_switch = '--'+self.name.replace('_', '-') + self.long_switch = self.name.replace('_', '-') self.validate_parameters() @@ -37,19 +37,24 @@ class ConversionOption(object): if not self.help: raise ValueError('You must set the help text') + def __hash__(self): + return hash(self.name) + + def __eq__(self, other): + return hash(self) == hash(other) class OptionRecommendation(object): LOW = 1 MED = 2 HIGH = 3 - def __init__(self, recommeded_value, level=LOW, **kwargs): + def __init__(self, recommended_value=None, level=LOW, **kwargs): ''' An option recommendation. That is, an option as well as its recommended value and the level of the recommendation. ''' self.level = level - self.recommended_value = recommeded_value + self.recommended_value = recommended_value self.option = kwargs.pop('option', None) if self.option is None: self.option = ConversionOption(**kwargs) @@ -59,10 +64,12 @@ class OptionRecommendation(object): def validate_parameters(self): if self.option.choices and self.recommended_value not in \ self.option.choices: - raise ValueError('Recommended value not in choices') + raise ValueError('OpRec: %s: Recommended value not in choices'% + self.option.name) if not (isinstance(self.recommended_value, (int, float, str, unicode))\ - or self.default is None): - raise ValueError(unicode(self.default) + + or self.recommended_value is None): + raise ValueError('OpRec: %s:'%self.option.name + + repr(self.recommended_value) + ' is not a string or a number') @@ -110,7 +117,11 @@ class InputFormatPlugin(Plugin): #: instance of :class:`OptionRecommendation`. options = set([]) - def convert(self, stream, options, file_ext, parse_cache, log): + #: A set of 3-tuples of the form + #: (option_name, recommended_value, recommendation_level) + recommendations = set([]) + + def convert(self, stream, options, file_ext, parse_cache, log, accelerators): ''' This method must be implemented in sub-classes. It must return the path to the created OPF file. All output should be contained in @@ -146,10 +157,16 @@ class InputFormatPlugin(Plugin): :param log: A :class:`calibre.utils.logging.Log` object. All output should use this object. + + :param accelarators: A dictionary of various information that the input + plugin can get easily that would speed up the + subsequent stages of the conversion. + ''' raise NotImplementedError - def __call__(self, stream, options, file_ext, parse_cache, log, output_dir): + def __call__(self, stream, options, file_ext, parse_cache, log, + accelerators, output_dir): log('InputFormatPlugin: %s running'%self.name, end=' ') if hasattr(stream, 'name'): log('on', stream.name) @@ -159,7 +176,8 @@ class InputFormatPlugin(Plugin): shutil.rmtree(x) if os.path.isdir(x) else os.remove(x) - ret = self.convert(stream, options, file_ext, parse_cache, log) + ret = self.convert(stream, options, file_ext, parse_cache, + log, accelerators) for key in list(parse_cache.keys()): if os.path.abspath(key) != key: log.warn(('InputFormatPlugin: %s returned a ' @@ -186,4 +204,38 @@ class InputFormatPlugin(Plugin): return ret + + +class OutputFormatPlugin(Plugin): + ''' + OutputFormatPlugins are responsible for converting an OEB document + (OPF+HTML) into an output ebook. + + The OEB document can be assumed to be encoded in UTF-8. + The main action happens in :method:`convert`. + ''' + + type = _('Conversion Output') + can_be_disabled = False + supported_platforms = ['windows', 'osx', 'linux'] + + #: The file type (extension without leading period) that this + #: plugin outputs + file_type = None + + #: Options shared by all Input format plugins. Do not override + #: in sub-classes. Use :member:`options` instead. Every option must be an + #: instance of :class:`OptionRecommendation`. + common_options = set([]) + + #: Options to customize the behavior of this plugin. Every option must be an + #: instance of :class:`OptionRecommendation`. + options = set([]) + + #: A set of 3-tuples of the form + #: (option_name, recommended_value, recommendation_level) + recommendations = set([]) + + def convert(self, oeb_book, input_plugin, options, parse_cache, log): + raise NotImplementedError diff --git a/src/calibre/customize/profiles.py b/src/calibre/customize/profiles.py index 002f56879f..a3a7e22298 100644 --- a/src/calibre/customize/profiles.py +++ b/src/calibre/customize/profiles.py @@ -3,6 +3,7 @@ __license__ = 'GPL 3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' +import sys, re from calibre.customize import Plugin class InputProfile(Plugin): @@ -16,12 +17,43 @@ class InputProfile(Plugin): # inherit from this profile and override as needed name = 'Default Input Profile' - short_name = 'default' # Used in the CLI so dont spaces etc. in it + short_name = 'default' # Used in the CLI so dont use spaces etc. in it description = _('This profile tries to provide sane defaults and is useful ' 'if you know nothing about the input document.') input_profiles = [InputProfile] - +class OutputProfile(Plugin): + author = 'Kovid Goyal' + supported_platforms = set(['windows', 'osx', 'linux']) + can_be_disabled = False + type = _('Output profile') + + name = 'Default Output Profile' + short_name = 'default' # Used in the CLI so dont use spaces etc. in it + description = _('This profile tries to provide sane defaults and is useful ' + 'if you want to produce a document intended to be read at a ' + 'computer or on a range of devices.') + + epub_flow_size = sys.maxint + screen_size = None + remove_special_chars = False + remove_object_tags = False + +class SonyReader(OutputProfile): + + name = 'Sony Reader' + short_name = 'sony' + description = _('This profile is intended for the SONY PRS line. ' + 'The 500/505/700 etc.') + + epub_flow_size = 270000 + screen_size = (590, 765) + remove_special_chars = re.compile(u'[\u200b\u00ad]') + remove_object_tags = True + + + +output_profiles = [OutputProfile, SonyReader] \ No newline at end of file diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py index 1cdafae4f0..d8b7ebf6d8 100644 --- a/src/calibre/customize/ui.py +++ b/src/calibre/customize/ui.py @@ -6,8 +6,8 @@ import os, shutil, traceback, functools, sys from calibre.customize import Plugin, FileTypePlugin, MetadataReaderPlugin, \ MetadataWriterPlugin -from calibre.customize.conversion import InputFormatPlugin -from calibre.customize.profiles import InputProfile +from calibre.customize.conversion import InputFormatPlugin, OutputFormatPlugin +from calibre.customize.profiles import InputProfile, OutputProfile from calibre.customize.builtins import plugins as builtin_plugins from calibre.constants import __version__, iswindows, isosx from calibre.ebooks.metadata import MetaInformation @@ -76,6 +76,12 @@ def input_profiles(): if isinstance(plugin, InputProfile): yield plugin +def output_profiles(): + for plugin in _initialized_plugins: + if isinstance(plugin, OutputProfile): + yield plugin + + def reread_filetype_plugins(): global _on_import global _on_preprocess @@ -245,9 +251,19 @@ def input_format_plugins(): def plugin_for_input_format(fmt): for plugin in input_format_plugins(): - if fmt in plugin.file_types: + if fmt.lower() in plugin.file_types: return plugin - + +def output_format_plugins(): + for plugin in _initialized_plugins: + if isinstance(plugin, OutputFormatPlugin): + yield plugin + +def plugin_for_output_format(fmt): + for plugin in output_format_plugins(): + if fmt.lower() == plugin.file_type: + return plugin + def disable_plugin(plugin_or_name): x = getattr(plugin_or_name, 'name', plugin_or_name) diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index e35d5f8cd3..14b056944b 100755 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -4,9 +4,9 @@ __copyright__ = '2009, John Schember ' Device driver for Amazon's Kindle ''' -import os +import os, re -from calibre.devices.usbms.driver import USBMS +from calibre.devices.usbms.driver import USBMS, metadata_from_formats class KINDLE(USBMS): # Ordered list of supported formats @@ -29,6 +29,9 @@ class KINDLE(USBMS): EBOOK_DIR_MAIN = "documents" EBOOK_DIR_CARD = "documents" SUPPORTS_SUB_DIRS = True + + WIRELESS_FILE_NAME_PATTERN = re.compile( + r'(?P[^-]+)-asin_(?P<asin>[a-zA-Z\d]{10,})-type_(?P<type>\w{4})-v_(?P<index>\d+).*') def delete_books(self, paths, end_session=True): for path in paths: @@ -40,6 +43,16 @@ class KINDLE(USBMS): # Delete the ebook auxiliary file if os.path.exists(filepath + '.mbp'): os.unlink(filepath + '.mbp') + + @classmethod + def metadata_from_path(cls, path): + mi = metadata_from_formats([path]) + if mi.title == _('Unknown') or ('-asin' in mi.title and '-type' in mi.title): + match = cls.WIRELESS_FILE_NAME_PATTERN.match(os.path.basename(path)) + if match is not None: + mi.title = match.group('title') + return mi + class KINDLE2(KINDLE): diff --git a/src/calibre/devices/mime.py b/src/calibre/devices/mime.py index 0035a7b8d7..140c822ca9 100644 --- a/src/calibre/devices/mime.py +++ b/src/calibre/devices/mime.py @@ -1,19 +1,20 @@ -__license__ = 'GPL v3' -__copyright__ = '2009, John Schember <john at nachtimwald.com>' -''' -Global Mime mapping of ebook types. -''' +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' -MIME_MAP = { - 'azw' : 'application/azw', - 'epub' : 'application/epub+zip', - 'html' : 'text/html', - 'lrf' : 'application/x-sony-bbeb', - 'lrx' : 'application/x-sony-bbeb', - 'mobi' : 'application/mobi', - 'pdf' : 'application/pdf', - 'prc' : 'application/prc', - 'rtf' : 'application/rtf', - 'txt' : 'text/plain', - } +from calibre import guess_type +def _mt(path): + mt = guess_type(path)[0] + if not mt: + mt = 'application/octet-stream' + return mt + +def mime_type_ext(ext): + if not ext.startswith('.'): + ext = '.'+ext + return _mt('a'+ext) + +def mime_type_path(path): + return _mt(path) \ No newline at end of file diff --git a/src/calibre/devices/usbms/driver.py b/src/calibre/devices/usbms/driver.py index bf231c1ffe..4285881447 100644 --- a/src/calibre/devices/usbms/driver.py +++ b/src/calibre/devices/usbms/driver.py @@ -15,7 +15,7 @@ from calibre.ebooks.metadata import authors_to_string from calibre.devices.usbms.device import Device from calibre.devices.usbms.books import BookList, Book from calibre.devices.errors import FreeSpaceError, PathError -from calibre.devices.mime import MIME_MAP +from calibre.devices.mime import mime_type_ext class File(object): def __init__(self, path): @@ -226,14 +226,17 @@ class USBMS(Device): if not os.path.isdir(path): os.utime(path, None) + @classmethod + def metadata_from_path(cls, path): + return metadata_from_formats([path]) + @classmethod def book_from_path(cls, path): fileext = path_to_ext(path) - - mi = metadata_from_formats([path]) - mime = MIME_MAP[fileext] if fileext in MIME_MAP.keys() else 'Unknown' - + mi = cls.metadata_from_path(path) + mime = mime_type_ext(fileext) authors = authors_to_string(mi.authors) - return Book(path, mi.title, authors, mime) + book = Book(path, mi.title, authors, mime) + return book diff --git a/src/calibre/ebooks/BeautifulSoup.py b/src/calibre/ebooks/BeautifulSoup.py index 24cd5fe3dd..cb2fe950fd 100644 --- a/src/calibre/ebooks/BeautifulSoup.py +++ b/src/calibre/ebooks/BeautifulSoup.py @@ -1306,7 +1306,10 @@ class BeautifulStoneSoup(Tag, SGMLParser): if self.convertEntities: if ref.lower().startswith('x'): # ref = int(ref[1:], 16) # Added by Kovid to handle hex numeric entities - data = unichr(int(ref)) + try: + data = unichr(int(ref)) + except ValueError: # Bad numerical entity. Added by Kovid + data = u'' else: data = '&#%s;' % ref self.handle_data(data) diff --git a/src/calibre/ebooks/chardet/__init__.py b/src/calibre/ebooks/chardet/__init__.py index af6d724883..2e8cdcb67c 100644 --- a/src/calibre/ebooks/chardet/__init__.py +++ b/src/calibre/ebooks/chardet/__init__.py @@ -97,9 +97,12 @@ def xml_to_unicode(raw, verbose=False, strip_encoding_pats=False, if encoding is None: encoding = force_encoding(raw, verbose) try: + if encoding.lower().strip() == 'macintosh': + encoding = 'mac-roman' raw = raw.decode(encoding, 'replace') except LookupError: - raw = raw.decode('utf-8', 'replace') + encoding = 'utf-8' + raw = raw.decode(encoding, 'replace') if strip_encoding_pats: raw = strip_encoding_declarations(raw) diff --git a/src/calibre/ebooks/conversion/cli.py b/src/calibre/ebooks/conversion/cli.py new file mode 100644 index 0000000000..f52264f8d0 --- /dev/null +++ b/src/calibre/ebooks/conversion/cli.py @@ -0,0 +1,167 @@ +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +''' +Command line interface to conversion sub-system +''' + +USAGE = '%prog ' + _('''\ +input_file output_file [options] + +Convert an ebook from one format to another. + +input_file is the input and output_file is the output. Both must be \ +specified as the first two arguments to the command. + +The output ebook format is guessed from the file extension of \ +output_file. output_file can also be of the special format .EXT where \ +EXT is the output file extension. In this case, the name of the output \ +file is derived the name of the input file. Note that the filenames must \ +not start with a hyphen. Finally, if output_file has no extension, then \ +it is treated as a directory and an "open ebook" (OEB) consisting of HTML \ +files is written to that directory. These files are the files that would \ +normally have been passed to the output plugin. + +After specifying the input \ +and output file you can customize the conversion by specifying various \ +options. the available options depend on the input and output file types. \ +To get help on them specify the input and output file and then use the -h \ +option. + +For full documentation of the conversion system see +''') + 'http://calibre.kovidgoyal.net/user_manual/conversion.html' + +import sys, os +from optparse import OptionGroup, Option + +from calibre.utils.config import OptionParser +from calibre.utils.logging import Log +from calibre.constants import preferred_encoding +from calibre.customize.conversion import OptionRecommendation + +def print_help(parser, log): + help = parser.format_help().encode(preferred_encoding, 'replace') + log(help) + +def check_command_line_options(parser, args, log): + if len(args) < 3 or args[1].startswith('-') or args[2].startswith('-'): + print_help(parser) + log.error('\n\nYou must specify the input AND output files') + raise SystemExit(1) + + input = os.path.abspath(args[1]) + if not os.access(input, os.R_OK): + log.error('Cannot read from', input) + raise SystemExit(1) + + output = args[2] + if output.startswith('.'): + output = os.path.splitext(os.path.basename(input))[0]+output + output = os.path.abspath(output) + + if '.' in output: + if os.path.exists(output): + log.warn('WARNING:', output, 'exists. Deleting.') + os.remove(output) + + return input, output + +def option_recommendation_to_cli_option(add_option, rec): + opt = rec.option + switches = ['-'+opt.short_switch] if opt.short_switch else [] + switches.append('--'+opt.long_switch) + attrs = dict(dest=opt.name, help=opt.help, + choices=opt.choices, default=rec.recommended_value) + add_option(Option(*switches, **attrs)) + +def add_input_output_options(parser, plumber): + input_options, output_options = \ + plumber.input_options, plumber.output_options + + def add_options(group, options): + for opt in options: + option_recommendation_to_cli_option(group, opt) + + if input_options: + title = _('INPUT OPTIONS') + io = OptionGroup(parser, title, _('Options to control the processing' + ' of the input %s file')%plumber.input_fmt) + add_options(io.add_option, input_options) + parser.add_option_group(io) + + if output_options: + title = plumber.output_fmt.upper() + ' ' + _('OPTIONS') + oo = OptionGroup(parser, title, _('Options to control the processing' + ' of the output %s file')%plumber.input_fmt) + add_options(oo.add_option, output_options) + parser.add_option_group(oo) + +def add_pipeline_options(parser, plumber): + groups = { + '' : ('', + [ + 'input_profile', + 'output_profile', + ] + ), + + 'METADATA' : (_('Options to set metadata in the output'), + plumber.metadata_option_names, + ), + 'DEBUG': (_('Options to help with debugging the conversion'), + [ + 'verbose', + ]), + + + } + + group_order = ['', 'METADATA', 'DEBUG'] + + for group in group_order: + desc, options = groups[group] + if group: + group = OptionGroup(parser, group, desc) + parser.add_option_group(group) + add_option = group.add_option if group != '' else parser.add_option + + for name in options: + rec = plumber.get_option_by_name(name) + if rec.level < rec.HIGH: + option_recommendation_to_cli_option(add_option, rec) + +def option_parser(): + return OptionParser(usage=USAGE) + +def main(args=sys.argv): + log = Log() + parser = option_parser() + if len(args) < 3: + print_help(parser, log) + return 1 + + input, output = check_command_line_options(parser, args, log) + + from calibre.ebooks.conversion.plumber import Plumber + + plumber = Plumber(input, output, log) + add_input_output_options(parser, plumber) + add_pipeline_options(parser, plumber) + + opts = parser.parse_args(args)[0] + recommendations = [(n.dest, getattr(opts, n.dest), + OptionRecommendation.HIGH) \ + for n in parser.options_iter() + if n.dest] + plumber.merge_ui_recommendations(recommendations) + + plumber.run() + + log(_('Output saved to'), ' ', plumber.output) + + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py index ac7490bd39..75a6687c4e 100644 --- a/src/calibre/ebooks/conversion/plumber.py +++ b/src/calibre/ebooks/conversion/plumber.py @@ -3,11 +3,29 @@ __license__ = 'GPL 3' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' +import os from calibre.customize.conversion import OptionRecommendation -from calibre.customize.ui import input_profiles +from calibre.customize.ui import input_profiles, output_profiles, \ + plugin_for_input_format, plugin_for_output_format -pipeline_options = [ +class OptionValues(object): + pass + +class Plumber(object): + + metadata_option_names = [ + 'title', 'authors', 'title_sort', 'author_sort', 'cover', 'comments', + 'publisher', 'series', 'series_index', 'rating', 'isbn', + 'tags', 'book_producer', 'language' + ] + + def __init__(self, input, output, log): + self.input = input + self.output = output + self.log = log + + self.pipeline_options = [ OptionRecommendation(name='verbose', recommended_value=0, level=OptionRecommendation.LOW, @@ -16,7 +34,6 @@ OptionRecommendation(name='verbose', 'verbosity.') ), - OptionRecommendation(name='input_profile', recommended_value='default', level=OptionRecommendation.LOW, choices=[x.short_name for x in input_profiles()], @@ -27,4 +44,193 @@ OptionRecommendation(name='input_profile', 'pixels).') ), -] \ No newline at end of file +OptionRecommendation(name='output_profile', + recommended_value='default', level=OptionRecommendation.LOW, + choices=[x.short_name for x in output_profiles()], + help=_('Specify the output profile. The output profile ' + 'tells the conversion system how to optimize the ' + 'created document for the specified device. In some cases, ' + 'an output profile is required to produce documents that ' + 'will work on a device. For example EPUB on the SONY reader.' + ) + ), + +OptionRecommendation(name='read_metadata_from_opf', + recommended_value=None, level=OptionRecommendation.LOW, + short_switch='m', + help=_('Read metadata from the specified OPF file. Metadata read ' + 'from this file will override any metadata in the source ' + 'file.') + ), + +OptionRecommendation(name='title', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the title.')), + +OptionRecommendation(name='authors', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the authors. Multiple authors should be separated ')), + +OptionRecommendation(name='title_sort', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('The version of the title to be used for sorting. ')), + +OptionRecommendation(name='author_sort', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('String to be used when sorting by author. ')), + +OptionRecommendation(name='cover', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the cover to the specified file.')), + +OptionRecommendation(name='comments', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the ebook description.')), + +OptionRecommendation(name='publisher', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the ebook publisher.')), + +OptionRecommendation(name='series', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the series this ebook belongs to.')), + +OptionRecommendation(name='series_index', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the index of the book in this series.')), + +OptionRecommendation(name='rating', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the rating. Should be a number between 1 and 5.')), + +OptionRecommendation(name='isbn', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the ISBN of the book.')), + +OptionRecommendation(name='tags', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the tags for the book. Should be a comma separated list.')), + +OptionRecommendation(name='book_producer', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the book producer.')), + +OptionRecommendation(name='language', + recommended_value=None, level=OptionRecommendation.LOW, + help=_('Set the language.')), +] + + + input_fmt = os.path.splitext(input)[1] + if not input_fmt: + raise ValueError('Input file must have an extension') + input_fmt = input_fmt[1:].lower() + + output_fmt = os.path.splitext(output)[1] + if not output_fmt: + output_fmt = '.oeb' + output_fmt = output_fmt[1:].lower() + + self.input_plugin = plugin_for_input_format(input_fmt) + self.output_plugin = plugin_for_output_format(output_fmt) + + if self.input_plugin is None: + raise ValueError('No plugin to handle input format: '+input_fmt) + + if self.output_plugin is None: + raise ValueError('No plugin to handle output format: '+output_fmt) + + self.input_fmt = input_fmt + self.output_fmt = output_fmt + + self.input_options = self.input_plugin.options.union( + self.input_plugin.common_options) + self.output_options = self.output_plugin.options.union( + self.output_plugin.common_options) + + self.merge_plugin_recommendations() + + def get_option_by_name(self, name): + for group in (self.input_options, self.pipeline_options, + self.output_options): + for rec in group: + if rec.option == name: + return rec + + def merge_plugin_recommendations(self): + for source in (self.input_plugin, self.output_plugin): + for name, val, level in source.recommendations: + rec = self.get_option_by_name(name) + if rec is not None and rec.level <= level: + rec.recommended_value = val + + def merge_ui_recommendations(self, recommendations): + for name, val, level in recommendations: + rec = self.get_option_by_name(name) + if rec is not None and rec.level <= level and rec.level < rec.HIGH: + rec.recommended_value = val + + def read_user_metadata(self): + from calibre.ebooks.metadata import MetaInformation, string_to_authors + from calibre.ebooks.metadata.opf2 import OPF + mi = MetaInformation(None, []) + if self.opts.read_metadata_from_opf is not None: + self.opts.read_metadata_from_opf = os.path.abspath( + self.opts.read_metadata_from_opf) + opf = OPF(open(self.opts.read_metadata_from_opf, 'rb'), + os.path.dirname(self.opts.read_metadata_from_opf)) + mi = MetaInformation(opf) + for x in self.metadata_option_names: + val = getattr(self.opts, x, None) + if val is not None: + if x == 'authors': + val = string_to_authors(val) + elif x == 'tags': + val = [i.strip() for i in val.split(',')] + elif x in ('rating', 'series_index'): + val = float(val) + setattr(mi, x, val) + if mi.cover: + mi.cover_data = ('', open(mi.cover, 'rb').read()) + mi.cover = None + self.user_metadata = mi + + + def setup_options(self): + self.opts = OptionValues() + for group in (self.input_options, self.pipeline_options, + self.output_options): + for rec in group: + setattr(self.opts, rec.option.name, rec.recommended_value) + + for x in input_profiles(): + if x.short_name == self.opts.input_profile: + self.opts.input_profile = x + break + + for x in output_profiles(): + if x.short_name == self.opts.output_profile: + self.opts.output_profile = x + break + + self.read_user_metadata() + + def run(self): + self.setup_options() + from calibre.customize.ui import run_plugins_on_preprocess + self.input = run_plugins_on_preprocess(self.input) + + from calibre.ebooks.oeb.reader import OEBReader + from calibre.ebooks.oeb.base import OEBBook + parse_cache, accelerators = {}, {} + + opfpath = self.input_plugin(open(self.input, 'rb'), self.opts, + self.input_fmt, parse_cache, self.log, + accelerators) + + self.reader = OEBReader() + self.oeb = OEBBook(self.log, parse_cache=parse_cache) + self.reader(self.oeb, opfpath) + + + \ No newline at end of file diff --git a/src/calibre/ebooks/epub/from_any.py b/src/calibre/ebooks/epub/from_any.py index 9a8e251108..b3e5281525 100644 --- a/src/calibre/ebooks/epub/from_any.py +++ b/src/calibre/ebooks/epub/from_any.py @@ -12,7 +12,7 @@ from contextlib import nested from calibre import extract, walk from calibre.ebooks import DRMError -from calibre.ebooks.epub import config as common_config, process_encryption +from calibre.ebooks.epub import config as common_config from calibre.ebooks.epub.from_html import convert as html2epub, find_html_index from calibre.ptempfile import TemporaryDirectory from calibre.ebooks.metadata import MetaInformation diff --git a/src/calibre/ebooks/epub/from_html.py b/src/calibre/ebooks/epub/from_html.py index ffe402538f..47d278a2b6 100644 --- a/src/calibre/ebooks/epub/from_html.py +++ b/src/calibre/ebooks/epub/from_html.py @@ -197,6 +197,9 @@ class HTMLProcessor(Processor, Rationalizer): if not tag.text and not tag.get('src', False): tag.getparent().remove(tag) + for tag in self.root.xpath('//form'): + tag.getparent().remove(tag) + if self.opts.linearize_tables: for tag in self.root.xpath('//table | //tr | //th | //td'): tag.tag = 'div' diff --git a/src/calibre/ebooks/epub/input.py b/src/calibre/ebooks/epub/input.py index 1b69424a9e..4c1cdbfcf5 100644 --- a/src/calibre/ebooks/epub/input.py +++ b/src/calibre/ebooks/epub/input.py @@ -51,7 +51,8 @@ class EPUBInput(InputFormatPlugin): traceback.print_exc() return False - def convert(self, stream, options, file_ext, parse_cache, log): + def convert(self, stream, options, file_ext, parse_cache, log, + accelerators): from calibre.utils.zipfile import ZipFile from calibre import walk from calibre.ebooks import DRMError diff --git a/src/calibre/ebooks/epub/iterator.py b/src/calibre/ebooks/epub/iterator.py index 82b9aa09ef..8e0936e708 100644 --- a/src/calibre/ebooks/epub/iterator.py +++ b/src/calibre/ebooks/epub/iterator.py @@ -118,10 +118,16 @@ class EbookIterator(object): self.spine = [SpineItem(i.path) for i in self.opf.spine] cover = self.opf.cover - if os.path.splitext(self.pathtoebook)[1].lower() in ('.lit', '.mobi', '.prc') and cover: + if os.path.splitext(self.pathtoebook)[1].lower() in \ + ('.lit', '.mobi', '.prc') and cover: cfile = os.path.join(os.path.dirname(self.spine[0]), 'calibre_ei_cover.html') open(cfile, 'wb').write(TITLEPAGE%cover) self.spine[0:0] = [SpineItem(cfile)] + + if self.opf.path_to_html_toc is not None and \ + self.opf.path_to_html_toc not in self.spine: + self.spine.append(SpineItem(self.opf.path_to_html_toc)) + sizes = [i.character_count for i in self.spine] self.pages = [math.ceil(i/float(self.CHARACTERS_PER_PAGE)) for i in sizes] diff --git a/src/calibre/ebooks/epub/pages.py b/src/calibre/ebooks/epub/pages.py index 1ab5edde86..4737107a6c 100644 --- a/src/calibre/ebooks/epub/pages.py +++ b/src/calibre/ebooks/epub/pages.py @@ -11,7 +11,7 @@ __docformat__ = 'restructuredtext en' import os, re from itertools import count, chain from calibre.ebooks.oeb.base import XHTML, XHTML_NS -from calibre.ebooks.oeb.base import OEBBook, DirWriter +from calibre.ebooks.oeb.base import OEBBook from lxml import etree, html from lxml.etree import XPath diff --git a/src/calibre/ebooks/epub/split.py b/src/calibre/ebooks/epub/split.py index 9814c40df5..c3099c1682 100644 --- a/src/calibre/ebooks/epub/split.py +++ b/src/calibre/ebooks/epub/split.py @@ -15,7 +15,7 @@ from lxml.cssselect import CSSSelector from calibre.ebooks.metadata.opf2 import OPF from calibre.ebooks.epub import tostring, rules -from calibre import CurrentDir, LoggingInterface +from calibre import CurrentDir XPath = functools.partial(_XPath, namespaces={'re':'http://exslt.org/regular-expressions'}) content = functools.partial(os.path.join, 'content') @@ -32,10 +32,9 @@ class SplitError(ValueError): -class Splitter(LoggingInterface): +class Splitter(object): def __init__(self, path, opts, stylesheet_map, opf): - LoggingInterface.__init__(self, logging.getLogger('htmlsplit')) self.setup_cli_handler(opts.verbose) self.path = path self.always_remove = not opts.preserve_tag_structure or \ diff --git a/src/calibre/ebooks/html.py b/src/calibre/ebooks/html.py index 710b544007..da64e58684 100644 --- a/src/calibre/ebooks/html.py +++ b/src/calibre/ebooks/html.py @@ -19,11 +19,10 @@ from lxml.html import HtmlElementClassLookup, HTMLParser as _HTMLParser, \ from lxml.etree import XPath get_text = XPath("//text()") -from calibre import LoggingInterface, unicode_path, entity_to_unicode +from calibre import unicode_path, entity_to_unicode from calibre.ebooks.chardet import xml_to_unicode, ENCODING_PATS from calibre.utils.config import Config, StringConfig from calibre.ebooks.metadata import MetaInformation -from calibre.ebooks.metadata.meta import get_metadata from calibre.ebooks.metadata.opf2 import OPF, OPFCreator from calibre.ptempfile import PersistentTemporaryDirectory, PersistentTemporaryFile from calibre.utils.zipfile import ZipFile @@ -401,7 +400,7 @@ class PreProcessor(object): html = rule[0].sub(rule[1], html) return html -class Parser(PreProcessor, LoggingInterface): +class Parser(PreProcessor): # SELF_CLOSING_TAGS = 'hr|br|link|img|meta|input|area|base|basefont' # SELF_CLOSING_RULES = [re.compile(p[0]%SELF_CLOSING_TAGS, re.IGNORECASE) for p in # [ @@ -412,7 +411,6 @@ class Parser(PreProcessor, LoggingInterface): # ] def __init__(self, htmlfile, opts, tdir, resource_map, htmlfiles, name='htmlparser'): - LoggingInterface.__init__(self, logging.getLogger(name)) self.setup_cli_handler(opts.verbose) self.htmlfile = htmlfile self.opts = opts @@ -859,7 +857,7 @@ class Processor(Parser): except ValueError: setting = '' face = font.attrib.pop('face', None) - if face is not None: + if face: faces = [] for face in face.split(','): face = face.strip() @@ -1038,6 +1036,7 @@ def merge_metadata(htmlfile, opf, opts): if opf: mi = MetaInformation(opf) elif htmlfile: + from calibre.ebooks.metadata.meta import get_metadata try: mi = get_metadata(open(htmlfile, 'rb'), 'html') except: diff --git a/src/calibre/ebooks/lrf/comic/convert_from.py b/src/calibre/ebooks/lrf/comic/convert_from.py index 45254f7b87..50f5e1e72e 100755 --- a/src/calibre/ebooks/lrf/comic/convert_from.py +++ b/src/calibre/ebooks/lrf/comic/convert_from.py @@ -143,7 +143,8 @@ class PageProcessor(list): MagickRotateImage(wand, pw, -90) # 25 percent fuzzy trim? - MagickTrimImage(wand, 25*65535/100) + if not self.opts.disable_trim: + MagickTrimImage(wand, 25*65535/100) MagickSetImagePage(wand, 0,0,0,0) #Clear page after trim, like a "+repage" # Do the Photoshop "Auto Levels" equivalent if not self.opts.dont_normalize: @@ -303,6 +304,9 @@ def config(defaults=None,output_format='lrf'): help=_('Maintain picture aspect ratio. Default is to fill the screen.')) c.add_opt('dont_sharpen', ['-s', '--disable-sharpen'], default=False, help=_('Disable sharpening.')) + c.add_opt('disable_trim', ['--disable-trim'], default=False, + help=_('Disable trimming of comic pages. For some comics, ' + 'trimming might remove content as well as borders.')) c.add_opt('landscape', ['-l', '--landscape'], default=False, help=_("Don't split landscape images into two portrait images")) c.add_opt('wide', ['-w', '--wide-aspect'], default=False, diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index 2bd63d1d8f..9ec4857126 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -31,7 +31,7 @@ from calibre.ebooks.lrf import option_parser as lrf_option_parser from calibre.ebooks import ConversionError from calibre.ebooks.lrf.html.table import Table from calibre import filename_to_utf8, setup_cli_handlers, __appname__, \ - fit_image, LoggingInterface, preferred_encoding + fit_image, preferred_encoding from calibre.ptempfile import PersistentTemporaryFile from calibre.devices.interface import Device from calibre.ebooks.lrf.html.color_map import lrs_color @@ -78,7 +78,7 @@ def tag_regex(tagname): return dict(open=r'(?:<\s*%(t)s\s+[^<>]*?>|<\s*%(t)s\s*>)'%dict(t=tagname), \ close=r'</\s*%(t)s\s*>'%dict(t=tagname)) -class HTMLConverter(object, LoggingInterface): +class HTMLConverter(object): SELECTOR_PAT = re.compile(r"([A-Za-z0-9\-\_\:\.]+[A-Za-z0-9\-\_\:\.\s\,]*)\s*\{([^\}]*)\}") PAGE_BREAK_PAT = re.compile(r'page-break-(?:after|before)\s*:\s*(\w+)', re.IGNORECASE) IGNORED_TAGS = (Comment, Declaration, ProcessingInstruction) @@ -99,6 +99,10 @@ class HTMLConverter(object, LoggingInterface): # Replace common line break patterns with line breaks (re.compile(r'<p>( |\s)*</p>', re.IGNORECASE), lambda m: '<br />'), + # Replace empty headers with line breaks + (re.compile(r'<h[0-5]?>( |\s)*</h[0-5]?>', + re.IGNORECASE), lambda m: '<br />'), + # Replace entities (re.compile(ur'&(\S+?);'), partial(entity_to_unicode, exceptions=['lt', 'gt', 'amp'])), @@ -209,7 +213,6 @@ class HTMLConverter(object, LoggingInterface): ''' # Defaults for various formatting tags object.__setattr__(self, 'options', options) - LoggingInterface.__init__(self, logger) self.fonts = fonts #: dict specifying font families to use # Memory self.scaled_images = {} #: Temporary files with scaled version of images diff --git a/src/calibre/ebooks/lrf/lrs/convert_from.py b/src/calibre/ebooks/lrf/lrs/convert_from.py index 495d9adb50..86a97aa70b 100644 --- a/src/calibre/ebooks/lrf/lrs/convert_from.py +++ b/src/calibre/ebooks/lrf/lrs/convert_from.py @@ -28,8 +28,9 @@ class LrsParser(object): def __init__(self, stream, logger): self.logger = logger src = stream.read() - self.soup = BeautifulStoneSoup(xml_to_unicode(src)[0], - selfClosingTags=self.SELF_CLOSING_TAGS) + self.soup = BeautifulStoneSoup(xml_to_unicode(src)[0], + convertEntities=BeautifulStoneSoup.XML_ENTITIES, + selfClosingTags=self.SELF_CLOSING_TAGS) self.objects = {} for obj in self.soup.findAll(objid=True): self.objects[obj['objid']] = obj diff --git a/src/calibre/ebooks/lrf/meta.py b/src/calibre/ebooks/lrf/meta.py index 322835f470..6ec87892d6 100644 --- a/src/calibre/ebooks/lrf/meta.py +++ b/src/calibre/ebooks/lrf/meta.py @@ -530,7 +530,7 @@ class LRFMetaFile(object): """ See L{file.write} """ self._file.write(val) - def objects(self): + def _objects(self): self._file.seek(self.object_index_offset) c = self.number_of_objects while c > 0: @@ -543,7 +543,7 @@ class LRFMetaFile(object): def get_objects_by_type(self, type): from calibre.ebooks.lrf.tags import Tag objects = [] - for id, offset, size in self.objects(): + for id, offset, size in self._objects(): self._file.seek(offset) tag = Tag(self._file) if tag.id == 0xF500: @@ -554,7 +554,7 @@ class LRFMetaFile(object): def get_object_by_id(self, tid): from calibre.ebooks.lrf.tags import Tag - for id, offset, size in self.objects(): + for id, offset, size in self._objects(): self._file.seek(offset) tag = Tag(self._file) if tag.id == 0xF500: diff --git a/src/calibre/ebooks/metadata/isbndb.py b/src/calibre/ebooks/metadata/isbndb.py index 3cf5f92eaf..487a52335b 100644 --- a/src/calibre/ebooks/metadata/isbndb.py +++ b/src/calibre/ebooks/metadata/isbndb.py @@ -112,7 +112,8 @@ key is the account key you generate after signing up for a free account from isb default=None, help=_('The title of the book to search for.')) parser.add_option('-p', '--publisher', default=None, dest='publisher', help=_('The publisher of the book to search for.')) - parser.add_option('--verbose', default=False, action='store_true', help=_('Verbose processing')) + parser.add_option('-v', '--verbose', default=False, + action='store_true', help=_('Verbose processing')) return parser diff --git a/src/calibre/ebooks/metadata/lit.py b/src/calibre/ebooks/metadata/lit.py index 7b3c873b38..071111e0f7 100644 --- a/src/calibre/ebooks/metadata/lit.py +++ b/src/calibre/ebooks/metadata/lit.py @@ -19,14 +19,22 @@ def get_metadata(stream): for item in opf.iterguide(): if 'cover' not in item.get('type', '').lower(): continue + ctype = item.get('type') href = item.get('href', '') candidates = [href, href.replace('&', '%26')] for item in litfile.manifest.values(): if item.path in candidates: - covers.append(item.internal) + try: + covers.append((litfile.get_file('/data/'+item.internal), + ctype)) + except: + pass break - covers = [litfile.get_file('/data/' + i) for i in covers] - covers.sort(cmp=lambda x, y:cmp(len(x), len(y))) - mi.cover_data = ('jpg', covers[-1]) + covers.sort(cmp=lambda x, y:cmp(len(x[0]), len(y[0])), reverse=True) + idx = 0 + if len(covers) > 1: + if covers[1][1] == covers[1][0]+'-standard': + idx = 1 + mi.cover_data = ('jpg', covers[idx][0]) return mi diff --git a/src/calibre/ebooks/metadata/meta.py b/src/calibre/ebooks/metadata/meta.py index 43053a43b9..de7ac8eeea 100644 --- a/src/calibre/ebooks/metadata/meta.py +++ b/src/calibre/ebooks/metadata/meta.py @@ -15,7 +15,7 @@ _METADATA_PRIORITIES = [ 'html', 'htm', 'xhtml', 'xhtm', 'rtf', 'fb2', 'pdf', 'prc', 'odt', 'epub', 'lit', 'lrx', 'lrf', 'mobi', - 'rb', 'imp' + 'rb', 'imp', 'azw' ] # The priorities for loading metadata from different file types @@ -41,7 +41,9 @@ def metadata_from_formats(formats): for path, ext in zip(formats, extensions): with open(path, 'rb') as stream: try: - mi.smart_update(get_metadata(stream, stream_type=ext, use_libprs_metadata=True)) + newmi = get_metadata(stream, stream_type=ext, + use_libprs_metadata=True) + mi.smart_update(newmi) except: continue if getattr(mi, 'application_id', None) is not None: @@ -58,7 +60,7 @@ def get_metadata(stream, stream_type='lrf', use_libprs_metadata=False): if stream_type: stream_type = stream_type.lower() if stream_type in ('html', 'html', 'xhtml', 'xhtm', 'xml'): stream_type = 'html' - if stream_type in ('mobi', 'prc'): + if stream_type in ('mobi', 'prc', 'azw'): stream_type = 'mobi' if stream_type in ('odt', 'ods', 'odp', 'odg', 'odf'): stream_type = 'odt' diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 0cec3e979c..74b6804845 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -444,6 +444,7 @@ class OPF(object): if not hasattr(stream, 'read'): stream = open(stream, 'rb') self.basedir = self.base_dir = basedir + self.path_to_html_toc = None raw, self.encoding = xml_to_unicode(stream.read(), strip_encoding_pats=True, resolve_entities=True) raw = raw[raw.find('<'):] self.root = etree.fromstring(raw, self.PARSER) @@ -495,6 +496,7 @@ class OPF(object): if f: self.toc.read_ncx_toc(f[0]) else: + self.path_to_html_toc = toc self.toc.read_html_toc(toc) except: pass diff --git a/src/calibre/ebooks/metadata/topaz.py b/src/calibre/ebooks/metadata/topaz.py new file mode 100644 index 0000000000..55eb9d6e69 --- /dev/null +++ b/src/calibre/ebooks/metadata/topaz.py @@ -0,0 +1,40 @@ +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +''' Read metadata from Amazon's topaz format ''' + +def read_record(raw, name): + idx = raw.find(name) + if idx > -1: + length = ord(raw[idx+len(name)]) + return raw[idx+len(name)+1:idx+len(name)+1+length] + +def get_metadata(stream): + raw = stream.read(8*1024) + if not raw.startswith('TPZ'): + raise ValueError('Not a Topaz file') + first = raw.find('metadata') + if first < 0: + raise ValueError('Invalid Topaz file') + second = raw.find('metadata', first+10) + if second < 0: + raise ValueError('Invalid Topaz file') + raw = raw[second:second+1000] + authors = read_record(raw, 'Authors') + if authors: + authors = authors.decode('utf-8', 'replace').split(';') + else: + authors = [_('Unknown')] + title = read_record(raw, 'Title') + if title: + title = title.decode('utf-8', 'replace') + else: + raise ValueError('No metadata in file') + from calibre.ebooks.metadata import MetaInformation + return MetaInformation(title, authors) + +if __name__ == '__main__': + import sys + print get_metadata(open(sys.argv[1], 'rb')) \ No newline at end of file diff --git a/src/calibre/ebooks/mobi/input.py b/src/calibre/ebooks/mobi/input.py index 1ce9950677..b3400c54e1 100644 --- a/src/calibre/ebooks/mobi/input.py +++ b/src/calibre/ebooks/mobi/input.py @@ -3,8 +3,6 @@ __license__ = 'GPL 3' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' -import os - from calibre.customize.conversion import InputFormatPlugin class MOBIInput(InputFormatPlugin): @@ -14,16 +12,19 @@ class MOBIInput(InputFormatPlugin): description = 'Convert MOBI files (.mobi, .prc, .azw) to HTML' file_types = set(['mobi', 'prc', 'azw']) - def convert(self, stream, options, file_ext, parse_cache, log): + def convert(self, stream, options, file_ext, parse_cache, log, + accelerators): from calibre.ebooks.mobi.reader import MobiReader mr = MobiReader(stream, log, options.input_encoding, options.debug_input) - mr.extract_content(output_dir=os.getcwdu(), parse_cache) + mr.extract_content('.', parse_cache) raw = parse_cache.get('calibre_raw_mobi_markup', False) if raw: if isinstance(raw, unicode): raw = raw.encode('utf-8') open('debug-raw.html', 'wb').write(raw) - - return mr.created_opf_path - + for f, root in parse_cache.items(): + if '.' in f: + accelerators[f] = {'pagebreaks':root.xpath( + '//div[@class="mbp_pagebreak"]')} + return mr.created_opf_path \ No newline at end of file diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index a72eb7716a..3b9085adca 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -92,6 +92,8 @@ class BookHeader(object): self.sublanguage = 'NEUTRAL' self.exth_flag, self.exth = 0, None self.ancient = True + self.first_image_index = -1 + self.mobi_version = 1 else: self.ancient = False self.doctype = raw[16:20] @@ -312,7 +314,7 @@ class MobiReader(object): mobi_version = self.book_header.mobi_version for i, tag in enumerate(root.iter(etree.Element)): if tag.tag in ('country-region', 'place', 'placetype', 'placename', - 'state', 'city'): + 'state', 'city', 'street', 'address'): tag.tag = 'span' for key in tag.attrib.keys(): tag.attrib.pop(key) @@ -389,7 +391,13 @@ class MobiReader(object): opf.cover = 'images/%05d.jpg'%(self.book_header.exth.cover_offset+1) elif mi.cover is not None: opf.cover = mi.cover - manifest = [(htmlfile, 'text/x-oeb1-document'), + else: + opf.cover = 'images/%05d.jpg'%1 + if not os.path.exists(os.path.join(os.path.dirname(htmlfile), + *opf.cover.split('/'))): + opf.cover = None + + manifest = [(htmlfile, 'text/x-oeb1-document'), (os.path.abspath('styles.css'), 'text/css')] bp = os.path.dirname(htmlfile) for i in getattr(self, 'image_names', []): @@ -531,7 +539,7 @@ class MobiReader(object): os.makedirs(output_dir) image_index = 0 self.image_names = [] - start = self.book_header.first_image_index + start = getattr(self.book_header, 'first_image_index', -1) if start > self.num_sections or start < 0: # BAEN PRC files have bad headers start=0 diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index fdabfaa618..d3ab12489c 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -9,7 +9,6 @@ __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.cam>' import sys import os from struct import pack -import functools import time import random from cStringIO import StringIO @@ -18,13 +17,12 @@ from itertools import izip, count from collections import defaultdict from urlparse import urldefrag import logging -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 namespace, prefixname from calibre.ebooks.oeb.base import urlnormalize -from calibre.ebooks.oeb.base import Logger, OEBBook +from calibre.ebooks.oeb.base import OEBBook from calibre.ebooks.oeb.profile import Context from calibre.ebooks.oeb.transforms.flatcss import CSSFlattener from calibre.ebooks.oeb.transforms.rasterize import SVGRasterizer @@ -33,7 +31,7 @@ from calibre.ebooks.oeb.transforms.htmltoc import HTMLTOCAdder from calibre.ebooks.oeb.transforms.manglecase import CaseMangler from calibre.ebooks.mobi.palmdoc import compress_doc from calibre.ebooks.mobi.langcodes import iana2mobi -from calibre.ebooks.mobi.mobiml import MBP_NS, MBP, MobiMLizer +from calibre.ebooks.mobi.mobiml import MBP_NS, MobiMLizer from calibre.customize.ui import run_plugins_on_postprocess from calibre.utils.config import Config, StringConfig @@ -162,7 +160,7 @@ class Serializer(object): hrefs = self.oeb.manifest.hrefs buffer.write('<guide>') for ref in self.oeb.guide.values(): - path, frag = urldefrag(ref.href) + path = urldefrag(ref.href)[0] if hrefs[path].media_type not in OEB_DOCS: continue buffer.write('<reference type="') @@ -457,8 +455,6 @@ class MobiWriter(object): self._oeb.logger.info('Serializing images...') images = [(index, href) for href, index in self._images.items()] images.sort() - metadata = self._oeb.metadata - coverid = metadata.cover[0] if metadata.cover else None for _, href in images: item = self._oeb.manifest.hrefs[href] try: diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 2e160d1571..59ce1f7b95 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -7,7 +7,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>' __docformat__ = 'restructuredtext en' -import os, sys, re, uuid +import os, re, uuid from mimetypes import types_map from collections import defaultdict from itertools import count @@ -15,7 +15,6 @@ from urlparse import urldefrag, urlparse, urlunparse from urllib import unquote as urlunquote from lxml import etree, html import calibre -from calibre import LoggingInterface from calibre.translations.dynamic import translate from calibre.ebooks.chardet import xml_to_unicode from calibre.ebooks.oeb.entitydefs import ENTITYDEFS @@ -204,22 +203,6 @@ class OEBError(Exception): """Generic OEB-processing error.""" pass - -class FauxLogger(object): - """Fake logging interface.""" - def __getattr__(self, name): - return self - def __call__(self, message): - print message - -class Logger(LoggingInterface, object): - """A logging object which provides both the standard `logging.Logger` and - calibre-specific interfaces. - """ - def __getattr__(self, name): - return object.__getattribute__(self, 'log_' + name) - - class NullContainer(object): """An empty container. @@ -1233,16 +1216,20 @@ class PageList(object): class OEBBook(object): """Representation of a book in the IDPF OEB data model.""" - def __init__(self, encoding=None, pretty_print=False, logger=FauxLogger()): + def __init__(self, logger, parse_cache={}, encoding='utf-8', + pretty_print=False): """Create empty book. Optional arguments: + :param parse_cache: A cache of parsed XHTML/CSS. Keys are absolute + paths to te cached files and values are lxml root objects and + cssutils stylesheets. :param:`encoding`: Default encoding for textual content read from an external container. :param:`pretty_print`: Whether or not the canonical string form of XML markup is pretty-printed. - :prama:`logger`: A Logger object to use for logging all messages + :param:`logger`: A Log object to use for logging all messages related to the processing of this book. It is accessible - via the instance data member :attr:`logger`. + via the instance data members :attr:`logger,log`. It provides the following public instance data members for accessing various parts of the OEB data model: @@ -1260,7 +1247,7 @@ class OEBBook(object): """ self.encoding = encoding self.pretty_print = pretty_print - self.logger = logger + self.logger = self.log = logger self.version = '2.0' self.container = NullContainer() self.metadata = Metadata(self) diff --git a/src/calibre/ebooks/oeb/output.py b/src/calibre/ebooks/oeb/output.py new file mode 100644 index 0000000000..0a74f488cf --- /dev/null +++ b/src/calibre/ebooks/oeb/output.py @@ -0,0 +1,17 @@ +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +from calibre.customize.conversion import OutputFormatPlugin + +class OEBOutput(OutputFormatPlugin): + + name = 'OEB Output' + author = 'Kovid Goyal' + file_type = 'oeb' + + + def convert(self, oeb_book, input_plugin, options, parse_cache, log): + pass + diff --git a/src/calibre/ebooks/oeb/reader.py b/src/calibre/ebooks/oeb/reader.py index 0fce1c2b0d..dbafa5afac 100644 --- a/src/calibre/ebooks/oeb/reader.py +++ b/src/calibre/ebooks/oeb/reader.py @@ -19,9 +19,9 @@ from calibre.ebooks.oeb.base import OEB_DOCS, OEB_STYLES, OEB_IMAGES, \ PAGE_MAP_MIME, JPEG_MIME, NCX_MIME, SVG_MIME from calibre.ebooks.oeb.base import XMLDECL_RE, COLLAPSE_RE, CSSURL_RE, \ ENTITY_RE, LINK_SELECTORS, MS_COVER_TYPE -from calibre.ebooks.oeb.base import namespace, barename, qname, XPath, xpath -from calibre.ebooks.oeb.base import urlnormalize, xml2str -from calibre.ebooks.oeb.base import OEBError, OEBBook, DirContainer +from calibre.ebooks.oeb.base import namespace, barename, qname, XPath, xpath, \ + urlnormalize, BINARY_MIME, \ + OEBError, OEBBook, DirContainer from calibre.ebooks.oeb.writer import OEBWriter from calibre.ebooks.oeb.entitydefs import ENTITYDEFS from calibre.ebooks.metadata.epub import CoverRenderer @@ -45,9 +45,6 @@ class OEBReader(object): TRANSFORMS = [] """List of transforms to apply to content read with this Reader.""" - def __init__(self): - return - @classmethod def config(cls, cfg): """Add any book-reading options to the :class:`Config` object @@ -65,7 +62,7 @@ class OEBReader(object): :param:`oeb`. """ self.oeb = oeb - self.logger = oeb.logger + self.logger = self.log = oeb.logger oeb.container = self.Container(path) opf = self._read_opf() self._all_from_opf(opf) diff --git a/src/calibre/ebooks/oeb/stylizer.py b/src/calibre/ebooks/oeb/stylizer.py index 64ed2a45e8..3b5c3e19d0 100644 --- a/src/calibre/ebooks/oeb/stylizer.py +++ b/src/calibre/ebooks/oeb/stylizer.py @@ -19,7 +19,7 @@ from cssutils.css import CSSStyleRule, CSSPageRule, CSSStyleDeclaration, \ CSSValueList, cssproperties from cssutils.profiles import profiles as cssprofiles from lxml import etree -from lxml.cssselect import css_to_xpath, ExpressionError +from lxml.cssselect import css_to_xpath, ExpressionError, SelectorSyntaxError from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES from calibre.ebooks.oeb.base import XPNSMAP, xpath, urlnormalize from calibre.ebooks.oeb.profile import PROFILES @@ -159,7 +159,9 @@ class Stylizer(object): for _, _, cssdict, text, _ in rules: try: selector = CSSSelector(text) - except ExpressionError: + except (AssertionError, ExpressionError, etree.XPathSyntaxError,\ + NameError, # gets thrown on OS X instead of SelectorSyntaxError + SelectorSyntaxError): continue for elem in selector(tree): self.style(elem)._update_cssdict(cssdict) diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py index ede2a027ed..9833b3b4d0 100644 --- a/src/calibre/ebooks/oeb/transforms/flatcss.py +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -6,18 +6,14 @@ from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>' -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]+') diff --git a/src/calibre/ebooks/oeb/transforms/htmltoc.py b/src/calibre/ebooks/oeb/transforms/htmltoc.py index 0040f39c14..7f3391e72b 100644 --- a/src/calibre/ebooks/oeb/transforms/htmltoc.py +++ b/src/calibre/ebooks/oeb/transforms/htmltoc.py @@ -6,9 +6,6 @@ from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>' -import sys -import os -from lxml import etree from calibre.ebooks.oeb.base import XML, XHTML, XHTML_NS from calibre.ebooks.oeb.base import XHTML_MIME, CSS_MIME from calibre.ebooks.oeb.base import element @@ -66,6 +63,8 @@ class HTMLTOCAdder(object): def __call__(self, oeb, context): if 'toc' in oeb.guide: return + if not getattr(getattr(oeb, 'toc', False), 'nodes', False): + return oeb.logger.info('Generating in-line TOC...') title = self.title or oeb.translate(DEFAULT_TITLE) style = self.style diff --git a/src/calibre/ebooks/oeb/transforms/manglecase.py b/src/calibre/ebooks/oeb/transforms/manglecase.py index c819475a4d..4b852db6c4 100644 --- a/src/calibre/ebooks/oeb/transforms/manglecase.py +++ b/src/calibre/ebooks/oeb/transforms/manglecase.py @@ -6,13 +6,6 @@ from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>' -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 diff --git a/src/calibre/ebooks/oeb/transforms/rasterize.py b/src/calibre/ebooks/oeb/transforms/rasterize.py index aef5c2c98b..2d86fe63b5 100644 --- a/src/calibre/ebooks/oeb/transforms/rasterize.py +++ b/src/calibre/ebooks/oeb/transforms/rasterize.py @@ -6,7 +6,6 @@ from __future__ import with_statement __license__ = 'GPL v3' __copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>' -import sys import os from urlparse import urldefrag import base64 @@ -20,9 +19,9 @@ 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, JPEG_MIME -from calibre.ebooks.oeb.base import xml2str, xpath, namespace, barename +from calibre.ebooks.oeb.base import XHTML, XLINK +from calibre.ebooks.oeb.base import SVG_MIME, PNG_MIME +from calibre.ebooks.oeb.base import xml2str, xpath from calibre.ebooks.oeb.base import urlnormalize from calibre.ebooks.oeb.stylizer import Stylizer @@ -88,7 +87,7 @@ class SVGRasterizer(object): hrefs = self.oeb.manifest.hrefs for elem in xpath(svg, '//svg:*[@xl:href]'): href = urlnormalize(elem.attrib[XLINK('href')]) - path, frag = urldefrag(href) + path = urldefrag(href)[0] if not path: continue abshref = item.abshref(path) diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index 2f4ba281fd..948cf4f3af 100644 --- a/src/calibre/gui2/add.py +++ b/src/calibre/gui2/add.py @@ -224,7 +224,10 @@ class AddRecursive(Add): files = _('<p>Books with the same title as the following already ' 'exist in the database. Add them anyway?<ul>') for mi in self.duplicates: - files += '<li>'+mi[0].title+'</li>\n' + title = mi[0].title + if not isinstance(title, unicode): + title = title.decode(preferred_encoding, 'replace') + files += '<li>'+title+'</li>\n' d = WarningDialog (_('Duplicates found!'), _('Duplicates found!'), files+'</ul></p>', parent=self._parent) diff --git a/src/calibre/gui2/dialogs/comicconf.ui b/src/calibre/gui2/dialogs/comicconf.ui index 36af85764a..acab125d57 100644 --- a/src/calibre/gui2/dialogs/comicconf.ui +++ b/src/calibre/gui2/dialogs/comicconf.ui @@ -1,154 +1,162 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>Dialog</class> - <widget class="QDialog" name="Dialog" > - <property name="geometry" > + <widget class="QDialog" name="Dialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>646</width> - <height>468</height> + <height>503</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Dialog</string> </property> - <property name="windowIcon" > - <iconset resource="../images.qrc" > + <property name="windowIcon"> + <iconset resource="../images.qrc"> <normaloff>:/images/convert.svg</normaloff>:/images/convert.svg</iconset> </property> - <layout class="QGridLayout" name="gridLayout" > - <item row="0" column="0" > - <widget class="QLabel" name="title_label" > - <property name="text" > + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="title_label"> + <property name="text"> <string>&Title:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>opt_title</cstring> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="opt_title" /> + <item row="0" column="1"> + <widget class="QLineEdit" name="opt_title"/> </item> - <item row="1" column="0" > - <widget class="QLabel" name="author_label" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="author_label"> + <property name="text"> <string>&Author(s):</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>opt_author</cstring> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="opt_author" /> + <item row="1" column="1"> + <widget class="QLineEdit" name="opt_author"/> </item> - <item row="2" column="0" > - <widget class="QLabel" name="label_3" > - <property name="text" > + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> <string>&Number of Colors:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>opt_colors</cstring> </property> </widget> </item> - <item row="2" column="1" > - <widget class="QSpinBox" name="opt_colors" > - <property name="minimum" > + <item row="2" column="1"> + <widget class="QSpinBox" name="opt_colors"> + <property name="minimum"> <number>8</number> </property> - <property name="maximum" > + <property name="maximum"> <number>3200000</number> </property> - <property name="singleStep" > + <property name="singleStep"> <number>8</number> </property> </widget> </item> - <item row="3" column="0" > - <widget class="QLabel" name="label_4" > - <property name="text" > + <item row="3" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> <string>&Profile:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>opt_profile</cstring> </property> </widget> </item> - <item row="3" column="1" > - <widget class="QComboBox" name="opt_profile" /> + <item row="3" column="1"> + <widget class="QComboBox" name="opt_profile"/> </item> - <item row="4" column="0" > - <widget class="QCheckBox" name="opt_dont_normalize" > - <property name="text" > + <item row="4" column="0"> + <widget class="QCheckBox" name="opt_dont_normalize"> + <property name="text"> <string>Disable &normalize</string> </property> </widget> </item> - <item row="5" column="0" > - <widget class="QCheckBox" name="opt_keep_aspect_ratio" > - <property name="text" > + <item row="5" column="0"> + <widget class="QCheckBox" name="opt_keep_aspect_ratio"> + <property name="text"> <string>Keep &aspect ratio</string> </property> </widget> </item> - <item row="6" column="0" > - <widget class="QCheckBox" name="opt_dont_sharpen" > - <property name="text" > + <item row="6" column="0"> + <widget class="QCheckBox" name="opt_dont_sharpen"> + <property name="text"> <string>Disable &Sharpening</string> </property> </widget> </item> - <item row="8" column="0" > - <widget class="QCheckBox" name="opt_landscape" > - <property name="text" > + <item row="9" column="0"> + <widget class="QCheckBox" name="opt_landscape"> + <property name="text"> <string>&Landscape</string> </property> </widget> </item> - <item row="10" column="0" > - <widget class="QCheckBox" name="opt_no_sort" > - <property name="text" > + <item row="11" column="0"> + <widget class="QCheckBox" name="opt_no_sort"> + <property name="text"> <string>Don't so&rt</string> </property> </widget> </item> - <item row="12" column="1" > - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > + <item row="13" column="1"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > + <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> - <item row="9" column="0" > - <widget class="QCheckBox" name="opt_right2left" > - <property name="text" > + <item row="10" column="0"> + <widget class="QCheckBox" name="opt_right2left"> + <property name="text"> <string>&Right to left</string> </property> </widget> </item> - <item row="11" column="0" > - <widget class="QCheckBox" name="opt_despeckle" > - <property name="text" > + <item row="12" column="0"> + <widget class="QCheckBox" name="opt_despeckle"> + <property name="text"> <string>De&speckle</string> </property> </widget> </item> - <item row="7" column="0" > - <widget class="QCheckBox" name="opt_wide" > - <property name="text" > + <item row="8" column="0"> + <widget class="QCheckBox" name="opt_wide"> + <property name="text"> <string>&Wide</string> </property> </widget> </item> + <item row="7" column="0"> + <widget class="QCheckBox" name="opt_disable_trim"> + <property name="text"> + <string>Disable &Trimming</string> + </property> + </widget> + </item> </layout> </widget> <resources> - <include location="../images.qrc" /> + <include location="../images.qrc"/> </resources> <connections> <connection> @@ -157,11 +165,11 @@ <receiver>Dialog</receiver> <slot>accept()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>248</x> <y>254</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>157</x> <y>274</y> </hint> @@ -173,11 +181,11 @@ <receiver>Dialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>316</x> <y>260</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>286</x> <y>274</y> </hint> diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 5353f24544..9958ce53fa 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -196,7 +196,7 @@ class ConfigDialog(QDialog, Ui_Dialog): self.language.addItem(language_codes[lang], QVariant(lang)) else: lang = 'en' - self.language.addItem('English', 'en') + self.language.addItem('English', QVariant('en')) items = [(l, language_codes[l]) for l in translations.keys() \ if l != lang] if lang != 'en': diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index 519314782a..694fec21f3 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -346,19 +346,22 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): pix = QPixmap() pix.loadFromData(cover_data) if pix.isNull(): - error_dialog(self.window, "The cover is not a valid picture").exec_() + error_dialog(self.window, _('Bad cover'), + _('The cover is not a valid picture')).exec_() else: self.cover.setPixmap(pix) self.cover_changed = True self.cpixmap = pix except LibraryThingError, err: - error_dialog(self, _('Could not fetch cover'), _('<b>Could not fetch cover.</b><br/>')+repr(err)).exec_() + error_dialog(self, _('Cannot fetch cover'), + _('<b>Could not fetch cover.</b><br/>')+repr(err)).exec_() finally: self.fetch_cover_button.setEnabled(True) self.unsetCursor() else: - error_dialog(self, _('Cannot fetch cover'), _('You must specify the ISBN identifier for this book.')).exec_() + error_dialog(self, _('Cannot fetch cover'), + _('You must specify the ISBN identifier for this book.')).exec_() def fetch_metadata(self): diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index c693cf3eea..8a5fc4f99d 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>MetadataSingleDialog</class> - <widget class="QDialog" name="MetadataSingleDialog" > - <property name="geometry" > + <widget class="QDialog" name="MetadataSingleDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,36 +10,36 @@ <height>750</height> </rect> </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" > + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Edit Meta Information</string> </property> - <property name="windowIcon" > - <iconset resource="../images.qrc" > + <property name="windowIcon"> + <iconset resource="../images.qrc"> <normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset> </property> - <property name="sizeGripEnabled" > + <property name="sizeGripEnabled"> <bool>true</bool> </property> - <property name="modal" > + <property name="modal"> <bool>true</bool> </property> - <layout class="QVBoxLayout" name="verticalLayout_6" > + <layout class="QVBoxLayout" name="verticalLayout_6"> <item> - <widget class="QScrollArea" name="scrollArea" > - <property name="frameShape" > + <widget class="QScrollArea" name="scrollArea"> + <property name="frameShape"> <enum>QFrame::NoFrame</enum> </property> - <property name="widgetResizable" > + <property name="widgetResizable"> <bool>true</bool> </property> - <widget class="QWidget" name="scrollAreaWidgetContents" > - <property name="geometry" > + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -46,65 +47,65 @@ <height>710</height> </rect> </property> - <layout class="QVBoxLayout" name="verticalLayout_5" > - <property name="margin" > + <layout class="QVBoxLayout" name="verticalLayout_5"> + <property name="margin"> <number>0</number> </property> <item> - <widget class="QWidget" native="1" name="central_widget" > - <property name="minimumSize" > + <widget class="QWidget" name="central_widget" native="true"> + <property name="minimumSize"> <size> <width>800</width> <height>665</height> </size> </property> - <layout class="QVBoxLayout" name="verticalLayout_3" > + <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QSplitter" name="splitter" > - <property name="orientation" > + <widget class="QSplitter" name="splitter"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <widget class="QWidget" name="layoutWidget" > - <layout class="QVBoxLayout" > + <widget class="QWidget" name="layoutWidget"> + <layout class="QVBoxLayout"> <item> - <widget class="QGroupBox" name="meta_box" > - <property name="title" > + <widget class="QGroupBox" name="meta_box"> + <property name="title"> <string>Meta information</string> </property> - <layout class="QGridLayout" name="gridLayout_3" > - <item row="0" column="0" > - <widget class="QLabel" name="label" > - <property name="text" > + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> <string>&Title: </string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>title</cstring> </property> </widget> </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="title" > - <property name="toolTip" > + <item row="0" column="1"> + <widget class="QLineEdit" name="title"> + <property name="toolTip"> <string>Change the title of this book</string> </property> </widget> </item> - <item rowspan="2" row="0" column="2" > - <widget class="QToolButton" name="swap_button" > - <property name="toolTip" > + <item row="0" column="2" rowspan="2"> + <widget class="QToolButton" name="swap_button"> + <property name="toolTip"> <string>Swap the author and title</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/swap.svg</normaloff>:/images/swap.svg</iconset> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>16</width> <height>16</height> @@ -112,305 +113,305 @@ </property> </widget> </item> - <item row="1" column="0" > - <widget class="QLabel" name="label_2" > - <property name="text" > + <item row="1" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> <string>&Author(s): </string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>authors</cstring> </property> </widget> </item> - <item row="2" column="0" > - <widget class="QLabel" name="label_8" > - <property name="text" > + <item row="2" column="0"> + <widget class="QLabel" name="label_8"> + <property name="text"> <string>Author S&ort: </string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>author_sort</cstring> </property> </widget> </item> - <item row="2" column="1" colspan="2" > - <layout class="QHBoxLayout" name="horizontalLayout" > + <item row="2" column="1" colspan="2"> + <layout class="QHBoxLayout" name="horizontalLayout"> <item> - <widget class="QLineEdit" name="author_sort" > - <property name="toolTip" > + <widget class="QLineEdit" name="author_sort"> + <property name="toolTip"> <string>Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.</string> </property> </widget> </item> <item> - <widget class="QToolButton" name="auto_author_sort" > - <property name="toolTip" > + <widget class="QToolButton" name="auto_author_sort"> + <property name="toolTip"> <string>Automatically create the author sort entry based on the current author entry</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/auto_author_sort.svg</normaloff>:/images/auto_author_sort.svg</iconset> </property> </widget> </item> </layout> </item> - <item row="3" column="0" > - <widget class="QLabel" name="label_6" > - <property name="text" > + <item row="3" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> <string>&Rating:</string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>rating</cstring> </property> </widget> </item> - <item row="3" column="1" colspan="2" > - <widget class="QSpinBox" name="rating" > - <property name="toolTip" > + <item row="3" column="1" colspan="2"> + <widget class="QSpinBox" name="rating"> + <property name="toolTip"> <string>Rating of this book. 0-5 stars</string> </property> - <property name="whatsThis" > + <property name="whatsThis"> <string>Rating of this book. 0-5 stars</string> </property> - <property name="buttonSymbols" > + <property name="buttonSymbols"> <enum>QAbstractSpinBox::PlusMinus</enum> </property> - <property name="suffix" > + <property name="suffix"> <string> stars</string> </property> - <property name="maximum" > + <property name="maximum"> <number>5</number> </property> </widget> </item> - <item row="4" column="0" > - <widget class="QLabel" name="label_3" > - <property name="text" > + <item row="4" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> <string>&Publisher: </string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>publisher</cstring> </property> </widget> </item> - <item row="5" column="0" > - <widget class="QLabel" name="label_4" > - <property name="text" > + <item row="5" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> <string>Ta&gs: </string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>tags</cstring> </property> </widget> </item> - <item row="5" column="1" colspan="2" > - <layout class="QHBoxLayout" name="_2" > + <item row="5" column="1" colspan="2"> + <layout class="QHBoxLayout" name="_2"> <item> - <widget class="QLineEdit" name="tags" > - <property name="toolTip" > - <string>Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas.</string> + <widget class="QLineEdit" name="tags"> + <property name="toolTip"> + <string>Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas.</string> </property> </widget> </item> <item> - <widget class="QToolButton" name="tag_editor_button" > - <property name="toolTip" > + <widget class="QToolButton" name="tag_editor_button"> + <property name="toolTip"> <string>Open Tag Editor</string> </property> - <property name="text" > + <property name="text"> <string>Open Tag Editor</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/chapters.svg</normaloff>:/images/chapters.svg</iconset> </property> </widget> </item> </layout> </item> - <item row="6" column="0" > - <widget class="QLabel" name="label_7" > - <property name="text" > + <item row="6" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> <string>&Series:</string> </property> - <property name="textFormat" > + <property name="textFormat"> <enum>Qt::PlainText</enum> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>series</cstring> </property> </widget> </item> - <item row="6" column="1" colspan="2" > - <layout class="QHBoxLayout" name="_3" > - <property name="spacing" > + <item row="6" column="1" colspan="2"> + <layout class="QHBoxLayout" name="_3"> + <property name="spacing"> <number>5</number> </property> <item> - <widget class="QComboBox" name="series" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" > + <widget class="QComboBox" name="series"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="toolTip" > + <property name="toolTip"> <string>List of known series. You can add new series.</string> </property> - <property name="whatsThis" > + <property name="whatsThis"> <string>List of known series. You can add new series.</string> </property> - <property name="editable" > + <property name="editable"> <bool>true</bool> </property> - <property name="insertPolicy" > + <property name="insertPolicy"> <enum>QComboBox::InsertAlphabetically</enum> </property> - <property name="sizeAdjustPolicy" > + <property name="sizeAdjustPolicy"> <enum>QComboBox::AdjustToContents</enum> </property> </widget> </item> <item> - <widget class="QToolButton" name="remove_series_button" > - <property name="toolTip" > + <widget class="QToolButton" name="remove_series_button"> + <property name="toolTip"> <string>Remove unused series (Series that have no books)</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/trash.svg</normaloff>:/images/trash.svg</iconset> </property> </widget> </item> </layout> </item> - <item row="7" column="1" colspan="2" > - <widget class="QSpinBox" name="series_index" > - <property name="enabled" > + <item row="7" column="1" colspan="2"> + <widget class="QSpinBox" name="series_index"> + <property name="enabled"> <bool>false</bool> </property> - <property name="toolTip" > + <property name="toolTip"> <string>Series index.</string> </property> - <property name="whatsThis" > + <property name="whatsThis"> <string>Series index.</string> </property> - <property name="prefix" > + <property name="prefix"> <string>Book </string> </property> - <property name="minimum" > + <property name="minimum"> <number>1</number> </property> - <property name="maximum" > + <property name="maximum"> <number>10000</number> </property> </widget> </item> - <item row="8" column="0" > - <widget class="QLabel" name="label_9" > - <property name="text" > + <item row="8" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> <string>IS&BN:</string> </property> - <property name="alignment" > + <property name="alignment"> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> </property> - <property name="buddy" > + <property name="buddy"> <cstring>isbn</cstring> </property> </widget> </item> - <item row="8" column="1" colspan="2" > - <widget class="QLineEdit" name="isbn" /> + <item row="8" column="1" colspan="2"> + <widget class="QLineEdit" name="isbn"/> </item> - <item row="4" column="1" > - <widget class="QComboBox" name="publisher" > - <property name="editable" > + <item row="4" column="1"> + <widget class="QComboBox" name="publisher"> + <property name="editable"> <bool>true</bool> </property> </widget> </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="authors" /> + <item row="1" column="1"> + <widget class="QLineEdit" name="authors"/> </item> </layout> </widget> </item> <item> - <widget class="QGroupBox" name="groupBox_2" > - <property name="title" > + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> <string>Comments</string> </property> - <layout class="QGridLayout" name="gridLayout_4" > - <item row="0" column="0" > - <widget class="QTextEdit" name="comments" /> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0"> + <widget class="QTextEdit" name="comments"/> </item> </layout> </widget> </item> <item> - <widget class="QPushButton" name="fetch_metadata_button" > - <property name="text" > - <string>Fetch metadata from server</string> + <widget class="QPushButton" name="fetch_metadata_button"> + <property name="text"> + <string>&Fetch metadata from server</string> </property> </widget> </item> </layout> </widget> - <widget class="QWidget" name="layoutWidget_2" > - <layout class="QVBoxLayout" name="verticalLayout_2" > + <widget class="QWidget" name="layoutWidget_2"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QGroupBox" name="af_group_box" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Minimum" hsizetype="Preferred" > + <widget class="QGroupBox" name="af_group_box"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="title" > + <property name="title"> <string>Available Formats</string> </property> - <layout class="QVBoxLayout" name="verticalLayout" > + <layout class="QVBoxLayout" name="verticalLayout"> <item> - <layout class="QGridLayout" name="gridLayout" > - <item rowspan="3" row="0" column="0" > - <widget class="QListWidget" name="formats" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Minimum" hsizetype="Minimum" > + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0" rowspan="3"> + <widget class="QListWidget" name="formats"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="maximumSize" > + <property name="maximumSize"> <size> <width>16777215</width> <height>130</height> </size> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>64</width> <height>64</height> @@ -418,19 +419,19 @@ </property> </widget> </item> - <item row="0" column="1" > - <widget class="QToolButton" name="add_format_button" > - <property name="toolTip" > + <item row="0" column="1"> + <widget class="QToolButton" name="add_format_button"> + <property name="toolTip"> <string>Add a new format for this book to the database</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/add_book.svg</normaloff>:/images/add_book.svg</iconset> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>32</width> <height>32</height> @@ -438,19 +439,19 @@ </property> </widget> </item> - <item row="2" column="1" > - <widget class="QToolButton" name="remove_format_button" > - <property name="toolTip" > + <item row="2" column="1"> + <widget class="QToolButton" name="remove_format_button"> + <property name="toolTip"> <string>Remove the selected formats for this book from the database.</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/trash.svg</normaloff>:/images/trash.svg</iconset> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>32</width> <height>32</height> @@ -458,19 +459,19 @@ </property> </widget> </item> - <item row="1" column="1" > - <widget class="QToolButton" name="button_set_cover" > - <property name="toolTip" > + <item row="1" column="1"> + <widget class="QToolButton" name="button_set_cover"> + <property name="toolTip"> <string>Set the cover for the book from the selected format</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/book.svg</normaloff>:/images/book.svg</iconset> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>32</width> <height>32</height> @@ -485,96 +486,96 @@ </widget> </item> <item> - <widget class="QGroupBox" name="bc_box" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Preferred" > + <widget class="QGroupBox" name="bc_box"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <horstretch>0</horstretch> <verstretch>10</verstretch> </sizepolicy> </property> - <property name="title" > + <property name="title"> <string>Book Cover</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_4" > + <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <widget class="ImageView" name="cover" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <widget class="ImageView" name="cover"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="text" > + <property name="text"> <string/> </property> - <property name="pixmap" > - <pixmap resource="../images.qrc" >:/images/book.svg</pixmap> + <property name="pixmap"> + <pixmap resource="../images.qrc">:/images/book.svg</pixmap> </property> - <property name="scaledContents" > + <property name="scaledContents"> <bool>true</bool> </property> </widget> </item> <item> - <layout class="QVBoxLayout" name="_4" > - <property name="spacing" > + <layout class="QVBoxLayout" name="_4"> + <property name="spacing"> <number>6</number> </property> - <property name="sizeConstraint" > + <property name="sizeConstraint"> <enum>QLayout::SetMaximumSize</enum> </property> - <property name="margin" > + <property name="margin"> <number>0</number> </property> <item> - <widget class="QLabel" name="label_5" > - <property name="text" > + <widget class="QLabel" name="label_5"> + <property name="text"> <string>Change &cover image:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>cover_path</cstring> </property> </widget> </item> <item> - <layout class="QHBoxLayout" name="_5" > - <property name="spacing" > + <layout class="QHBoxLayout" name="_5"> + <property name="spacing"> <number>6</number> </property> - <property name="margin" > + <property name="margin"> <number>0</number> </property> <item> - <widget class="QLineEdit" name="cover_path" > - <property name="readOnly" > + <widget class="QLineEdit" name="cover_path"> + <property name="readOnly"> <bool>true</bool> </property> </widget> </item> <item> - <widget class="QToolButton" name="cover_button" > - <property name="toolTip" > + <widget class="QToolButton" name="cover_button"> + <property name="toolTip"> <string>Browse for an image to use as the cover of this book.</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/document_open.svg</normaloff>:/images/document_open.svg</iconset> </property> </widget> </item> <item> - <widget class="QToolButton" name="reset_cover" > - <property name="toolTip" > + <widget class="QToolButton" name="reset_cover"> + <property name="toolTip"> <string>Reset cover to default</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="../images.qrc" > + <property name="icon"> + <iconset resource="../images.qrc"> <normaloff>:/images/trash.svg</normaloff>:/images/trash.svg</iconset> </property> </widget> @@ -584,21 +585,21 @@ </layout> </item> <item> - <layout class="QHBoxLayout" name="_6" > + <layout class="QHBoxLayout" name="_6"> <item> - <widget class="QPushButton" name="fetch_cover_button" > - <property name="text" > - <string>Fetch cover image from server</string> + <widget class="QPushButton" name="fetch_cover_button"> + <property name="text"> + <string>Fetch &cover image from server</string> </property> </widget> </item> <item> - <widget class="QPushButton" name="password_button" > - <property name="toolTip" > + <widget class="QPushButton" name="password_button"> + <property name="toolTip"> <string>Change the username and/or password for your account at LibraryThing.com</string> </property> - <property name="text" > - <string>Change password</string> + <property name="text"> + <string>Change &password</string> </property> </widget> </item> @@ -619,11 +620,11 @@ </widget> </item> <item> - <widget class="QDialogButtonBox" name="button_box" > - <property name="orientation" > + <widget class="QDialogButtonBox" name="button_box"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > + <property name="standardButtons"> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> @@ -666,7 +667,7 @@ <tabstop>button_box</tabstop> </tabstops> <resources> - <include location="../images.qrc" /> + <include location="../images.qrc"/> </resources> <connections> <connection> @@ -675,11 +676,11 @@ <receiver>MetadataSingleDialog</receiver> <slot>accept()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>261</x> <y>710</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>157</x> <y>274</y> </hint> @@ -691,11 +692,11 @@ <receiver>MetadataSingleDialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>329</x> <y>710</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>286</x> <y>274</y> </hint> diff --git a/src/calibre/gui2/images/news/nytimes_sub.png b/src/calibre/gui2/images/news/nytimes_sub.png new file mode 100644 index 0000000000..17282300fe Binary files /dev/null and b/src/calibre/gui2/images/news/nytimes_sub.png differ diff --git a/src/calibre/gui2/images/news/politico.png b/src/calibre/gui2/images/news/politico.png new file mode 100644 index 0000000000..6d5f0d055b Binary files /dev/null and b/src/calibre/gui2/images/news/politico.png differ diff --git a/src/calibre/gui2/images/news/wikinews_en.png b/src/calibre/gui2/images/news/wikinews_en.png new file mode 100644 index 0000000000..489061b923 Binary files /dev/null and b/src/calibre/gui2/images/news/wikinews_en.png differ diff --git a/src/calibre/gui2/library.py b/src/calibre/gui2/library.py index c0f8eac796..bfa1ec501f 100644 --- a/src/calibre/gui2/library.py +++ b/src/calibre/gui2/library.py @@ -94,6 +94,7 @@ class DateDelegate(QStyledItemDelegate): def createEditor(self, parent, option, index): qde = QStyledItemDelegate.createEditor(self, parent, option, index) qde.setDisplayFormat('MM/dd/yyyy') + qde.setMinimumDate(QDate(100,1,1)) return qde class BooksModel(QAbstractTableModel): @@ -420,6 +421,7 @@ class BooksModel(QAbstractTableModel): def get_preferred_formats(self, rows, formats, paths=False, set_metadata=False, specific_format=None): ans = [] + need_auto = [] if specific_format is not None: formats = [specific_format.lower()] for row in (row.row() for row in rows): @@ -444,8 +446,9 @@ class BooksModel(QAbstractTableModel): pt.close() if paths else pt.seek(0) ans.append(pt) else: + need_auto.append(row) ans.append(None) - return ans + return ans, need_auto def id(self, row): return self.db.id(getattr(row, 'row', lambda:row)()) @@ -1069,3 +1072,4 @@ class SearchBox(QLineEdit): self.emit(SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'), txt, False) self.end(False) self.initial_state = False + diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 163a9d8bd0..f040eac362 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -38,7 +38,8 @@ from calibre.gui2.dialogs.metadata_bulk import MetadataBulkDialog from calibre.gui2.dialogs.jobs import JobsDialog from calibre.gui2.dialogs.conversion_error import ConversionErrorDialog from calibre.gui2.tools import convert_single_ebook, convert_bulk_ebooks, \ - set_conversion_defaults, fetch_scheduled_recipe + set_conversion_defaults, fetch_scheduled_recipe, \ + auto_convert_ebook from calibre.gui2.dialogs.config import ConfigDialog from calibre.gui2.dialogs.search import SearchDialog from calibre.gui2.dialogs.choose_format import ChooseFormatDialog @@ -237,6 +238,7 @@ class Main(MainWindow, Ui_MainWindow): QObject.connect(self.config_button, SIGNAL('clicked(bool)'), self.do_config) self.connect(self.preferences_action, SIGNAL('triggered(bool)'), self.do_config) + self.connect(self.action_preferences, SIGNAL('triggered(bool)'), self.do_config) QObject.connect(self.advanced_search_button, SIGNAL('clicked(bool)'), self.do_advanced_search) ####################### Library view ######################## @@ -818,7 +820,8 @@ class Main(MainWindow, Ui_MainWindow): 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 = error_dialog(self, _('Cannot edit metadata'), + _('No books selected')) d.exec_() return @@ -904,9 +907,8 @@ class Main(MainWindow, Ui_MainWindow): on_card = config['send_to_storage_card_by_default'] self.sync_to_device(on_card, False, specific_format=fmt) - - def sync_to_device(self, on_card, delete_from_library, specific_format=None): - rows = self.library_view.selectionModel().selectedRows() + def sync_to_device(self, on_card, delete_from_library, specific_format=None, send_rows=None, auto_convert=True): + rows = self.library_view.selectionModel().selectedRows() if send_rows is None else send_rows if not self.device_manager or not rows or len(rows) == 0: return ids = iter(self.library_view.model().id(r) for r in rows) @@ -917,7 +919,7 @@ class Main(MainWindow, Ui_MainWindow): if cdata: mi['cover'] = self.cover_to_thumbnail(cdata) metadata, full_metadata = iter(metadata), iter(full_metadata) - _files = self.library_view.model().get_preferred_formats(rows, + _files, _auto_rows = self.library_view.model().get_preferred_formats(rows, self.device_manager.device_class.FORMATS, paths=True, set_metadata=True, specific_format=specific_format) @@ -952,10 +954,29 @@ class Main(MainWindow, Ui_MainWindow): remove = remove_ids if delete_from_library else [] self.upload_books(gf, names, good, on_card, memory=(_files, remove)) self.status_bar.showMessage(_('Sending books to device.'), 5000) + if bad: + if specific_format is None: + if 'epub' in self.device_manager.device_class.FORMATS: + format = 'epub' + elif 'mobi' in self.device_manager.device_class.FORMATS or 'prc' in self.device_manager.device_class.FORMATS: + format = 'mobi' + elif 'lrf' in self.device_manager.device_class.FORMATS: + format = 'lrf' + else: + format = specific_format + + if format not in ('epub', 'mobi'): + auto_convert = False + bad = '\n'.join('<li>%s</li>'%(i,) for i in bad) - d = warning_dialog(self, _('No suitable formats'), - _('Could not upload the following books to the device, as no suitable formats were found:<br><ul>%s</ul>')%(bad,)) + if auto_convert: + d = info_dialog(self, _('No suitable formats'), + _('Auto converting the following books before uploading to the device:<br><ul>%s</ul>')%(bad,)) + self.auto_convert(_auto_rows, on_card, format) + else: + d = warning_dialog(self, _('No suitable formats'), + _('Could not upload the following books to the device, as no suitable formats were found:<br><ul>%s</ul>')%(bad,)) d.exec_() @@ -1048,6 +1069,32 @@ class Main(MainWindow, Ui_MainWindow): ############################### Convert #################################### + def auto_convert(self, rows, on_card, format): + previous = self.library_view.currentIndex() + + comics, others = [], [] + db = self.library_view.model().db + for r in rows: + formats = db.formats(r) + if not formats: continue + formats = formats.lower().split(',') + if 'cbr' in formats or 'cbz' in formats: + comics.append(r) + else: + others.append(r) + + jobs, changed, bad_rows = auto_convert_ebook(format, self, self.library_view.model().db, comics, others) + for func, args, desc, fmt, id, temp_files in jobs: + if id not in bad_rows: + job = self.job_manager.run_job(Dispatcher(self.book_auto_converted), + func, args=args, description=desc) + self.conversion_jobs[job] = (temp_files, fmt, id, on_card) + + if changed: + self.library_view.model().refresh_rows(rows) + current = self.library_view.currentIndex() + self.library_view.model().current_changed(current, previous) + def get_books_for_conversion(self): rows = [r.row() for r in self.library_view.selectionModel().selectedRows()] if not rows or len(rows) == 0: @@ -1108,7 +1155,32 @@ class Main(MainWindow, Ui_MainWindow): self.library_view.model().refresh_rows(rows) current = self.library_view.currentIndex() self.library_view.model().current_changed(current, previous) - + + def book_auto_converted(self, job): + temp_files, fmt, book_id, on_card = self.conversion_jobs.pop(job) + try: + if job.exception is not None: + self.job_exception(job) + return + data = open(temp_files[-1].name, 'rb') + self.library_view.model().db.add_format(book_id, fmt, data, index_is_id=True) + data.close() + self.status_bar.showMessage(job.description + (' completed'), 2000) + finally: + for f in temp_files: + try: + if os.path.exists(f.name): + os.remove(f.name) + except: + pass + self.tags_view.recount() + if self.current_view() is self.library_view: + current = self.library_view.currentIndex() + self.library_view.model().current_changed(current, QModelIndex()) + + r = self.library_view.model().index(self.library_view.model().db.row(book_id), 0) + self.sync_to_device(on_card, False, specific_format=fmt, send_rows=[r], auto_convert=False) + def book_converted(self, job): temp_files, fmt, book_id = self.conversion_jobs.pop(job) try: @@ -1149,10 +1221,14 @@ class Main(MainWindow, Ui_MainWindow): if ext in config['internally_viewed_formats']: if ext == 'LRF': args = ['lrfviewer', name] - self.job_manager.server.run_free_job('lrfviewer', kwdargs=dict(args=args)) + self.job_manager.server.run_free_job('lrfviewer', + kwdargs=dict(args=args)) else: args = ['ebook-viewer', name] - self.job_manager.server.run_free_job('ebook-viewer', kwdargs=dict(args=args)) + if isosx: + args.append('--raise-window') + self.job_manager.server.run_free_job('ebook-viewer', + kwdargs=dict(args=args)) else: QDesktopServices.openUrl(QUrl('file:'+name))#launch(name) time.sleep(5) # User feedback @@ -1247,7 +1323,7 @@ class Main(MainWindow, Ui_MainWindow): ############################### Do config ################################## - def do_config(self): + def do_config(self, *args): if self.job_manager.has_jobs(): d = error_dialog(self, _('Cannot configure'), _('Cannot configure while there are running jobs.')) d.exec_() @@ -1406,7 +1482,15 @@ class Main(MainWindow, Ui_MainWindow): dir = os.path.expanduser('~/Library') self.library_path = os.path.abspath(dir) if not os.path.exists(self.library_path): - os.makedirs(self.library_path) + try: + os.makedirs(self.library_path) + except: + self.library_path = os.path.expanduser('~/Library') + error_dialog(self, _('Invalid library location'), + _('Could not access %s. Using %s as the library.')% + (repr(self.library_path), repr(self.library_path)) + ).exec_() + os.makedirs(self.library_path) def read_settings(self): @@ -1610,3 +1694,4 @@ if __name__ == '__main__': log = open(logfile).read().decode('utf-8', 'ignore') d = QErrorMessage('<b>Error:</b>%s<br><b>Traceback:</b><br>%s<b>Log:</b><br>'%(unicode(err), unicode(tb), log)) d.exec_() + diff --git a/src/calibre/gui2/main.ui b/src/calibre/gui2/main.ui index ad8c450d1a..c4bea8d886 100644 --- a/src/calibre/gui2/main.ui +++ b/src/calibre/gui2/main.ui @@ -1,149 +1,150 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <author>Kovid Goyal</author> <class>MainWindow</class> - <widget class="QMainWindow" name="MainWindow" > - <property name="geometry" > + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> - <width>865</width> + <width>1012</width> <height>822</height> </rect> </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="Preferred" hsizetype="Preferred" > + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="contextMenuPolicy" > + <property name="contextMenuPolicy"> <enum>Qt::NoContextMenu</enum> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>__appname__</string> </property> - <property name="windowIcon" > - <iconset resource="images.qrc" > + <property name="windowIcon"> + <iconset resource="images.qrc"> <normaloff>:/library</normaloff>:/library</iconset> </property> - <widget class="QWidget" name="centralwidget" > - <layout class="QGridLayout" name="gridLayout" > - <item row="0" column="0" > - <layout class="QHBoxLayout" name="horizontalLayout_3" > + <widget class="QWidget" name="centralwidget"> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout_3"> <item> - <widget class="LocationView" name="location_view" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <widget class="LocationView" name="location_view"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="maximumSize" > + <property name="maximumSize"> <size> <width>16777215</width> <height>100</height> </size> </property> - <property name="verticalScrollBarPolicy" > + <property name="verticalScrollBarPolicy"> <enum>Qt::ScrollBarAlwaysOff</enum> </property> - <property name="horizontalScrollBarPolicy" > + <property name="horizontalScrollBarPolicy"> <enum>Qt::ScrollBarAsNeeded</enum> </property> - <property name="tabKeyNavigation" > + <property name="tabKeyNavigation"> <bool>true</bool> </property> - <property name="showDropIndicator" stdset="0" > + <property name="showDropIndicator" stdset="0"> <bool>true</bool> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>40</width> <height>40</height> </size> </property> - <property name="movement" > + <property name="movement"> <enum>QListView::Static</enum> </property> - <property name="flow" > + <property name="flow"> <enum>QListView::LeftToRight</enum> </property> - <property name="gridSize" > + <property name="gridSize"> <size> <width>175</width> <height>90</height> </size> </property> - <property name="viewMode" > + <property name="viewMode"> <enum>QListView::ListMode</enum> </property> - <property name="wordWrap" > + <property name="wordWrap"> <bool>true</bool> </property> </widget> </item> <item> - <widget class="QToolButton" name="donate_button" > - <property name="cursor" > + <widget class="QToolButton" name="donate_button"> + <property name="cursor"> <cursorShape>PointingHandCursor</cursorShape> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="images.qrc" > + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/donate.svg</normaloff>:/images/donate.svg</iconset> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>64</width> <height>64</height> </size> </property> - <property name="autoRaise" > + <property name="autoRaise"> <bool>true</bool> </property> </widget> </item> <item> - <layout class="QVBoxLayout" name="verticalLayout_3" > + <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QLabel" name="vanity" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Preferred" hsizetype="Preferred" > + <widget class="QLabel" name="vanity"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="maximumSize" > + <property name="maximumSize"> <size> <width>16777215</width> <height>90</height> </size> </property> - <property name="text" > + <property name="text"> <string/> </property> - <property name="textFormat" > + <property name="textFormat"> <enum>Qt::RichText</enum> </property> - <property name="openExternalLinks" > + <property name="openExternalLinks"> <bool>true</bool> </property> </widget> </item> <item> - <layout class="QHBoxLayout" name="horizontalLayout_2" > + <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> - <widget class="QLabel" name="label_2" > - <property name="text" > + <widget class="QLabel" name="label_2"> + <property name="text"> <string>Output:</string> </property> </widget> </item> <item> - <widget class="QComboBox" name="output_format" > - <property name="toolTip" > + <widget class="QComboBox" name="output_format"> + <property name="toolTip"> <string>Set the output format that is used when converting ebooks and downloading news</string> </property> </widget> @@ -154,99 +155,99 @@ </item> </layout> </item> - <item row="1" column="0" > - <layout class="QHBoxLayout" > - <property name="spacing" > + <item row="1" column="0"> + <layout class="QHBoxLayout"> + <property name="spacing"> <number>6</number> </property> - <property name="margin" > + <property name="margin"> <number>0</number> </property> <item> - <widget class="QToolButton" name="advanced_search_button" > - <property name="toolTip" > + <widget class="QToolButton" name="advanced_search_button"> + <property name="toolTip"> <string>Advanced search</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="images.qrc" > + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/search.svg</normaloff>:/images/search.svg</iconset> </property> - <property name="shortcut" > + <property name="shortcut"> <string>Alt+S</string> </property> </widget> </item> <item> - <widget class="QLabel" name="label" > - <property name="text" > + <widget class="QLabel" name="label"> + <property name="text"> <string>&Search:</string> </property> - <property name="buddy" > + <property name="buddy"> <cstring>search</cstring> </property> </widget> </item> <item> - <widget class="SearchBox" name="search" > - <property name="enabled" > + <widget class="SearchBox" name="search"> + <property name="enabled"> <bool>true</bool> </property> - <property name="sizePolicy" > - <sizepolicy vsizetype="Fixed" hsizetype="Expanding" > + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>1</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="acceptDrops" > + <property name="acceptDrops"> <bool>false</bool> </property> - <property name="toolTip" > - <string>Search the list of books by title or author<br><br>Words separated by spaces are ANDed</string> + <property name="toolTip"> + <string>Search the list of books by title or author<br><br>Words separated by spaces are ANDed</string> </property> - <property name="whatsThis" > - <string>Search the list of books by title, author, publisher, tags and comments<br><br>Words separated by spaces are ANDed</string> + <property name="whatsThis"> + <string>Search the list of books by title, author, publisher, tags and comments<br><br>Words separated by spaces are ANDed</string> </property> - <property name="autoFillBackground" > + <property name="autoFillBackground"> <bool>false</bool> </property> - <property name="text" > + <property name="text"> <string/> </property> - <property name="frame" > + <property name="frame"> <bool>true</bool> </property> </widget> </item> <item> - <widget class="QToolButton" name="clear_button" > - <property name="toolTip" > + <widget class="QToolButton" name="clear_button"> + <property name="toolTip"> <string>Reset Quick Search</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="images.qrc" > + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/clear_left.svg</normaloff>:/images/clear_left.svg</iconset> </property> </widget> </item> <item> - <widget class="Line" name="line" > - <property name="orientation" > + <widget class="Line" name="line"> + <property name="orientation"> <enum>Qt::Vertical</enum> </property> </widget> </item> <item> <spacer> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="sizeHint" stdset="0" > + <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>20</height> @@ -255,77 +256,77 @@ </spacer> </item> <item> - <widget class="QToolButton" name="config_button" > - <property name="toolTip" > + <widget class="QToolButton" name="config_button"> + <property name="toolTip"> <string>Configuration</string> </property> - <property name="text" > + <property name="text"> <string>...</string> </property> - <property name="icon" > - <iconset resource="images.qrc" > + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset> </property> </widget> </item> </layout> </item> - <item row="2" column="0" > - <widget class="QStackedWidget" name="stack" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <item row="2" column="0"> + <widget class="QStackedWidget" name="stack"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>100</horstretch> <verstretch>100</verstretch> </sizepolicy> </property> - <property name="currentIndex" > + <property name="currentIndex"> <number>0</number> </property> - <widget class="QWidget" name="library" > - <layout class="QVBoxLayout" name="verticalLayout_2" > + <widget class="QWidget" name="library"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <layout class="QHBoxLayout" name="horizontalLayout" > + <layout class="QHBoxLayout" name="horizontalLayout"> <item> - <layout class="QVBoxLayout" name="verticalLayout" > + <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QRadioButton" name="match_any" > - <property name="text" > + <widget class="QRadioButton" name="match_any"> + <property name="text"> <string>Match any</string> </property> - <property name="checked" > + <property name="checked"> <bool>false</bool> </property> </widget> </item> <item> - <widget class="QRadioButton" name="match_all" > - <property name="text" > + <widget class="QRadioButton" name="match_all"> + <property name="text"> <string>Match all</string> </property> - <property name="checked" > + <property name="checked"> <bool>true</bool> </property> </widget> </item> <item> - <widget class="QCheckBox" name="popularity" > - <property name="text" > + <widget class="QCheckBox" name="popularity"> + <property name="text"> <string>Sort by &popularity</string> </property> </widget> </item> <item> - <widget class="TagsView" name="tags_view" > - <property name="tabKeyNavigation" > + <widget class="TagsView" name="tags_view"> + <property name="tabKeyNavigation"> <bool>true</bool> </property> - <property name="alternatingRowColors" > + <property name="alternatingRowColors"> <bool>true</bool> </property> - <property name="animated" > + <property name="animated"> <bool>true</bool> </property> - <property name="headerHidden" > + <property name="headerHidden"> <bool>true</bool> </property> </widget> @@ -333,35 +334,35 @@ </layout> </item> <item> - <widget class="BooksView" name="library_view" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <widget class="BooksView" name="library_view"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>100</horstretch> <verstretch>10</verstretch> </sizepolicy> </property> - <property name="acceptDrops" > + <property name="acceptDrops"> <bool>true</bool> </property> - <property name="dragEnabled" > + <property name="dragEnabled"> <bool>true</bool> </property> - <property name="dragDropOverwriteMode" > + <property name="dragDropOverwriteMode"> <bool>false</bool> </property> - <property name="dragDropMode" > + <property name="dragDropMode"> <enum>QAbstractItemView::DragDrop</enum> </property> - <property name="alternatingRowColors" > + <property name="alternatingRowColors"> <bool>true</bool> </property> - <property name="selectionBehavior" > + <property name="selectionBehavior"> <enum>QAbstractItemView::SelectRows</enum> </property> - <property name="showGrid" > + <property name="showGrid"> <bool>false</bool> </property> - <property name="wordWrap" > + <property name="wordWrap"> <bool>false</bool> </property> </widget> @@ -370,76 +371,76 @@ </item> </layout> </widget> - <widget class="QWidget" name="main_memory" > - <layout class="QGridLayout" > - <item row="0" column="0" > - <widget class="DeviceBooksView" name="memory_view" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Expanding" > + <widget class="QWidget" name="main_memory"> + <layout class="QGridLayout"> + <item row="0" column="0"> + <widget class="DeviceBooksView" name="memory_view"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>100</horstretch> <verstretch>10</verstretch> </sizepolicy> </property> - <property name="acceptDrops" > + <property name="acceptDrops"> <bool>true</bool> </property> - <property name="dragEnabled" > + <property name="dragEnabled"> <bool>true</bool> </property> - <property name="dragDropOverwriteMode" > + <property name="dragDropOverwriteMode"> <bool>false</bool> </property> - <property name="dragDropMode" > + <property name="dragDropMode"> <enum>QAbstractItemView::DragDrop</enum> </property> - <property name="alternatingRowColors" > + <property name="alternatingRowColors"> <bool>true</bool> </property> - <property name="selectionBehavior" > + <property name="selectionBehavior"> <enum>QAbstractItemView::SelectRows</enum> </property> - <property name="showGrid" > + <property name="showGrid"> <bool>false</bool> </property> - <property name="wordWrap" > + <property name="wordWrap"> <bool>false</bool> </property> </widget> </item> </layout> </widget> - <widget class="QWidget" name="page" > - <layout class="QGridLayout" > - <item row="0" column="0" > - <widget class="DeviceBooksView" name="card_view" > - <property name="sizePolicy" > - <sizepolicy vsizetype="Expanding" hsizetype="Preferred" > + <widget class="QWidget" name="page"> + <layout class="QGridLayout"> + <item row="0" column="0"> + <widget class="DeviceBooksView" name="card_view"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <horstretch>10</horstretch> <verstretch>10</verstretch> </sizepolicy> </property> - <property name="acceptDrops" > + <property name="acceptDrops"> <bool>true</bool> </property> - <property name="dragEnabled" > + <property name="dragEnabled"> <bool>true</bool> </property> - <property name="dragDropOverwriteMode" > + <property name="dragDropOverwriteMode"> <bool>false</bool> </property> - <property name="dragDropMode" > + <property name="dragDropMode"> <enum>QAbstractItemView::DragDrop</enum> </property> - <property name="alternatingRowColors" > + <property name="alternatingRowColors"> <bool>true</bool> </property> - <property name="selectionBehavior" > + <property name="selectionBehavior"> <enum>QAbstractItemView::SelectRows</enum> </property> - <property name="showGrid" > + <property name="showGrid"> <bool>false</bool> </property> - <property name="wordWrap" > + <property name="wordWrap"> <bool>false</bool> </property> </widget> @@ -450,221 +451,237 @@ </item> </layout> </widget> - <widget class="QToolBar" name="tool_bar" > - <property name="minimumSize" > + <widget class="QToolBar" name="tool_bar"> + <property name="minimumSize"> <size> <width>0</width> <height>0</height> </size> </property> - <property name="contextMenuPolicy" > + <property name="contextMenuPolicy"> <enum>Qt::PreventContextMenu</enum> </property> - <property name="movable" > + <property name="movable"> <bool>false</bool> </property> - <property name="orientation" > + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="iconSize" > + <property name="iconSize"> <size> <width>48</width> <height>48</height> </size> </property> - <property name="toolButtonStyle" > + <property name="toolButtonStyle"> <enum>Qt::ToolButtonTextUnderIcon</enum> </property> - <attribute name="toolBarArea" > + <attribute name="toolBarArea"> <enum>TopToolBarArea</enum> </attribute> - <attribute name="toolBarBreak" > + <attribute name="toolBarBreak"> <bool>false</bool> </attribute> - <addaction name="action_add" /> - <addaction name="action_del" /> - <addaction name="action_edit" /> - <addaction name="separator" /> - <addaction name="action_sync" /> - <addaction name="action_save" /> - <addaction name="separator" /> - <addaction name="action_news" /> - <addaction name="action_convert" /> - <addaction name="action_view" /> + <addaction name="action_add"/> + <addaction name="action_edit"/> + <addaction name="action_convert"/> + <addaction name="action_view"/> + <addaction name="action_news"/> + <addaction name="separator"/> + <addaction name="action_sync"/> + <addaction name="action_save"/> + <addaction name="action_del"/> + <addaction name="separator"/> + <addaction name="action_preferences"/> </widget> - <widget class="QStatusBar" name="statusBar" > - <property name="mouseTracking" > + <widget class="QStatusBar" name="statusBar"> + <property name="mouseTracking"> <bool>true</bool> </property> </widget> - <action name="action_add" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_add"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/add_book.svg</normaloff>:/images/add_book.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Add books</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>A</string> </property> - <property name="autoRepeat" > + <property name="autoRepeat"> <bool>false</bool> </property> </action> - <action name="action_del" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_del"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/trash.svg</normaloff>:/images/trash.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Remove books</string> </property> - <property name="toolTip" > + <property name="toolTip"> <string>Remove books</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>Del</string> </property> </action> - <action name="action_edit" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_edit"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/edit_input.svg</normaloff>:/images/edit_input.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Edit meta information</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>E</string> </property> - <property name="autoRepeat" > + <property name="autoRepeat"> <bool>false</bool> </property> </action> - <action name="action_sync" > - <property name="enabled" > + <action name="action_sync"> + <property name="enabled"> <bool>false</bool> </property> - <property name="icon" > - <iconset resource="images.qrc" > + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/sync.svg</normaloff>:/images/sync.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Send to device</string> </property> </action> - <action name="action_save" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_save"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/save.svg</normaloff>:/images/save.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Save to disk</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>S</string> </property> </action> - <action name="action_news" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_news"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/news.svg</normaloff>:/images/news.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Fetch news</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>F</string> </property> </action> - <action name="action_convert" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_convert"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/convert.svg</normaloff>:/images/convert.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Convert E-books</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>C</string> </property> </action> - <action name="action_view" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_view"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/view.svg</normaloff>:/images/view.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>View</string> </property> - <property name="shortcut" > + <property name="shortcut"> <string>V</string> </property> </action> - <action name="action_open_containing_folder" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_open_containing_folder"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/document_open.svg</normaloff>:/images/document_open.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Open containing folder</string> </property> </action> - <action name="action_show_book_details" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_show_book_details"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/dialog_information.svg</normaloff>:/images/dialog_information.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Show book details</string> </property> </action> - <action name="action_books_by_same_author" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_books_by_same_author"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/user_profile.svg</normaloff>:/images/user_profile.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Books by same author</string> </property> </action> - <action name="action_books_in_this_series" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_books_in_this_series"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/books_in_series.svg</normaloff>:/images/books_in_series.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Books in this series</string> </property> </action> - <action name="action_books_by_this_publisher" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_books_by_this_publisher"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/publisher.png</normaloff>:/images/publisher.png</iconset> </property> - <property name="text" > + <property name="text"> <string>Books by this publisher</string> </property> </action> - <action name="action_books_with_the_same_tags" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_books_with_the_same_tags"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/tags.svg</normaloff>:/images/tags.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Books with the same tags</string> </property> </action> - <action name="action_send_specific_format_to_device" > - <property name="icon" > - <iconset resource="images.qrc" > + <action name="action_send_specific_format_to_device"> + <property name="icon"> + <iconset resource="images.qrc"> <normaloff>:/images/book.svg</normaloff>:/images/book.svg</iconset> </property> - <property name="text" > + <property name="text"> <string>Send specific format to device</string> </property> </action> + <action name="action_preferences"> + <property name="icon"> + <iconset resource="images.qrc"> + <normaloff>:/images/config.svg</normaloff>:/images/config.svg</iconset> + </property> + <property name="text"> + <string>Preferences</string> + </property> + <property name="toolTip"> + <string>Configure calibre</string> + </property> + <property name="shortcut"> + <string>Ctrl+P</string> + </property> + </action> </widget> <customwidgets> <customwidget> @@ -694,7 +711,7 @@ </customwidget> </customwidgets> <resources> - <include location="images.qrc" /> + <include location="images.qrc"/> </resources> <connections> <connection> @@ -703,11 +720,11 @@ <receiver>search</receiver> <slot>clear()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>787</x> <y>215</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>755</x> <y>213</y> </hint> diff --git a/src/calibre/gui2/tools.py b/src/calibre/gui2/tools.py index aca2da74e2..0bf78ffaa7 100644 --- a/src/calibre/gui2/tools.py +++ b/src/calibre/gui2/tools.py @@ -18,7 +18,9 @@ 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 -from calibre.ebooks.epub.from_any import SOURCE_FORMATS as EPUB_PREFERRED_SOURCE_FORMATS +from calibre.ebooks.epub.from_any import SOURCE_FORMATS as EPUB_PREFERRED_SOURCE_FORMATS, config as epubconfig +from calibre.ebooks.mobi.from_any import config as mobiconfig +from calibre.ebooks.lrf.comic.convert_from import config as comicconfig def get_dialog(fmt): return { @@ -26,6 +28,122 @@ def get_dialog(fmt): 'mobi':MOBIConvert, }[fmt] +def get_config(fmt): + return { + 'epub':epubconfig, + 'mobi':mobiconfig, + }[fmt] + +def auto_convert(fmt, parent, db, comics, others): + changed = False + jobs = [] + + total = sum(map(len, (others, comics))) + if total == 0: + return + parent.status_bar.showMessage(_('Starting auto conversion of %d books')%total, 2000) + + i = 0 + bad_rows = [] + + for i, row in enumerate(others+comics): + row_id = db.id(row) + + if row in others: + temp_files = [] + + data = None + for _fmt in EPUB_PREFERRED_SOURCE_FORMATS: + try: + data = db.format(row, _fmt.upper()) + if data is not None: + break + except: + continue + if data is None: + bad_rows.append(row) + continue + + defaults = db.conversion_options(db.id(row), fmt) + defaults = defaults if defaults else '' + options = get_config(fmt)(defaults=defaults).parse() + + mi = db.get_metadata(row) + opf = OPFCreator(os.getcwdu(), mi) + opf_file = PersistentTemporaryFile('.opf') + opf.render(opf_file) + opf_file.close() + pt = PersistentTemporaryFile('.'+_fmt.lower()) + pt.write(data) + pt.close() + of = PersistentTemporaryFile('.'+fmt) + of.close() + cover = db.cover(row) + cf = None + if cover: + cf = PersistentTemporaryFile('.jpeg') + cf.write(cover) + cf.close() + options.cover = cf.name + options.output = of.name + options.from_opf = opf_file.name + args = [options, pt.name] + desc = _('Auto 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(('any2'+fmt, args, desc, fmt.upper(), row_id, temp_files)) + + changed = True + else: + defaults = db.conversion_options(db.id(row), fmt) + defaults = defaults if defaults else '' + options = comicconfig(defaults=defaults).parse() + + mi = db.get_metadata(row) + if mi.title: + options.title = mi.title + if mi.authors: + options.author = ','.join(mi.authors) + data = None + for _fmt in ['cbz', 'cbr']: + try: + data = db.format(row, _fmt.upper()) + if data is not None: + break + except: + continue + + if data is None: + bad_rows.append(row) + continue + + pt = PersistentTemporaryFile('.'+_fmt.lower()) + pt.write(data) + pt.close() + of = PersistentTemporaryFile('.'+fmt) + of.close() + setattr(options, 'output', of.name) + options.verbose = 1 + args = [pt.name, options] + desc = _('Convert book %d of %d (%s)')%(i+1, total, repr(mi.title)) + jobs.append(('comic2'+fmt, args, desc, fmt.upper(), row_id, [pt, of])) + + changed = True + + if bad_rows: + res = [] + for row in bad_rows: + title = db.title(row) + res.append('<li>%s</li>'%title) + + msg = _('<p>Could not convert %d of %d books, because no suitable source format was found.<ul>%s</ul>')%(len(res), total, '\n'.join(res)) + warning_dialog(parent, _('Could not convert some books'), msg).exec_() + + return jobs, changed, bad_rows + +def auto_convert_lrf(fmt, parent, db, comics, others): + pass + def convert_single(fmt, parent, db, comics, others): changed = False jobs = [] @@ -386,6 +504,12 @@ def fetch_scheduled_recipe(recipe, script): args.append(script) return 'feeds2'+fmt, [args], _('Fetch news from ')+recipe.title, fmt.upper(), [pt] +def auto_convert_ebook(*args): + fmt = args[0] if args[0] else 'epub' + if fmt == 'lrf': + return auto_convert_lrf() + elif fmt in ('epub', 'mobi'): + return auto_convert(*args) def convert_single_ebook(*args): fmt = prefs['output_format'].lower() @@ -410,4 +534,5 @@ def set_conversion_defaults(comic, parent, db): def fetch_news(data): fmt = prefs['output_format'].lower() - return _fetch_news(data, fmt) \ No newline at end of file + return _fetch_news(data, fmt) + diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index b694562d97..161bc69aad 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -450,7 +450,9 @@ class DocumentView(QWebView): self.manager.scrolled(self.scroll_fraction) def wheel_event(self, down=True): - QWebView.wheelEvent(self, QWheelEvent(QPoint(100, 100), (-120 if down else 120), Qt.NoButton, Qt.NoModifier)) + QWebView.wheelEvent(self, + QWheelEvent(QPoint(100, 100), (-120 if down else 120), + Qt.NoButton, Qt.NoModifier)) def next_page(self): if self.document.at_bottom: @@ -538,6 +540,26 @@ class DocumentView(QWebView): self.next_page() elif key in [Qt.Key_PageUp, Qt.Key_Backspace, Qt.Key_Up]: self.previous_page() + elif key in [Qt.Key_Home]: + if event.modifiers() & Qt.ControlModifier: + if self.manager is not None: + self.manager.goto_start() + else: + self.scroll_to(0) + elif key in [Qt.Key_End]: + if event.modifiers() & Qt.ControlModifier: + if self.manager is not None: + self.manager.goto_end() + else: + self.scroll_to(1) + elif key in [Qt.Key_J]: + self.wheel_event() + elif key in [Qt.Key_K]: + self.wheel_event(down=False) + elif key in [Qt.Key_H]: + self.scroll_by(x=-15) + elif key in [Qt.Key_L]: + self.scroll_by(x=15) else: return QWebView.keyPressEvent(self, event) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index c6277ff902..3738ba9114 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -341,6 +341,12 @@ class EbookViewer(MainWindow, Ui_EbookViewer): pos = self.history.forward() if pos is not None: self.goto_page(pos) + + def goto_start(self): + self.goto_page(1) + + def goto_end(self): + self.goto_page(self.pos.maximum()) def goto_page(self, new_page): if self.current_page is not None: @@ -604,6 +610,10 @@ def config(defaults=None): c = Config('viewer', desc) else: c = StringConfig(defaults, desc) + + c.add_opt('raise_window', ['--raise-window'], default=False, + help=_('If specified, viewer window will try to come to the ' + 'front when started.')) return c def option_parser(): @@ -617,7 +627,7 @@ View an ebook. def main(args=sys.argv): parser = option_parser() - args = parser.parse_args(args)[-1] + opts, args = parser.parse_args(args) pid = os.fork() if False and islinux else -1 if pid <= 0: app = Application(args) @@ -627,6 +637,8 @@ def main(args=sys.argv): main = EbookViewer(args[1] if len(args) > 1 else None) sys.excepthook = main.unhandled_exception main.show() + if opts.raise_window: + main.raise_() with main: return app.exec_() return 0 diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index ceae3094c4..08a18fbe60 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -244,7 +244,10 @@ def do_add(db, paths, one_book_per_directory, recurse, add_duplicates): if os.path.isdir(path): dirs.append(path) else: - files.append(path) + if os.path.exists(path): + files.append(path) + else: + print path, 'not found' formats, metadata = [], [] for book in files: @@ -261,12 +264,14 @@ def do_add(db, paths, one_book_per_directory, recurse, add_duplicates): formats.append(format) metadata.append(mi) - - file_duplicates = db.add_books(files, formats, metadata, add_duplicates=add_duplicates) - if not file_duplicates[0]: - file_duplicates = [] - else: - file_duplicates = file_duplicates[0] + + file_duplicates = [] + if files: + file_duplicates = db.add_books(files, formats, metadata, + add_duplicates=add_duplicates) + if file_duplicates: + file_duplicates = file_duplicates[0] + dir_dups = [] for dir in dirs: @@ -286,7 +291,9 @@ def do_add(db, paths, one_book_per_directory, recurse, add_duplicates): db.import_book(mi, formats) else: if dir_dups or file_duplicates: - print >>sys.stderr, _('The following books were not added as they already exist in the database (see --duplicates option):') + print >>sys.stderr, _('The following books were not added as ' + 'they already exist in the database ' + '(see --duplicates option):') for mi, formats in dir_dups: title = mi.title if isinstance(title, unicode): diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index f8b63f1124..28f861ae3a 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -15,7 +15,7 @@ from PyQt4.QtCore import QCoreApplication, QThread, QReadWriteLock from PyQt4.QtGui import QApplication, QImage __app = None -from calibre.library import title_sort +from calibre.ebooks.metadata import title_sort from calibre.library.database import LibraryDatabase from calibre.library.sqlite import connect, IntegrityError from calibre.utils.search_query_parser import SearchQueryParser @@ -1567,3 +1567,4 @@ books_series_link feeds break return duplicates + diff --git a/src/calibre/library/server.py b/src/calibre/library/server.py index ba81151517..4ba6253819 100644 --- a/src/calibre/library/server.py +++ b/src/calibre/library/server.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' HTTP server for remote access to the calibre database. ''' -import sys, textwrap, mimetypes, operator, os, re, logging +import sys, textwrap, operator, os, re, logging from itertools import repeat from logging.handlers import RotatingFileHandler from datetime import datetime @@ -18,11 +18,13 @@ from PyQt4.Qt import QImage, QApplication, QByteArray, Qt, QBuffer from calibre.constants import __version__, __appname__ from calibre.utils.genshi.template import MarkupTemplate -from calibre import fit_image +from calibre import fit_image, guess_type from calibre.resources import jquery, server_resources, build_time from calibre.library import server_config as config from calibre.library.database2 import LibraryDatabase2, FIELD_MAP from calibre.utils.config import config_dir +from calibre.utils.mdns import publish as publish_zeroconf, \ + stop_server as stop_zeroconf build_time = datetime.strptime(build_time, '%d %m %Y %H%M%S') server_resources['jquery.js'] = jquery @@ -77,7 +79,7 @@ class LibraryServer(object): <id>urn:calibre:${record[FM['id']]}</id> <author><name>${authors}</name></author> <updated>${record[FM['timestamp']].strftime('%Y-%m-%dT%H:%M:%S+00:00')}</updated> - <link type="application/epub+zip" href="/get/epub/${record[FM['id']]}" /> + <link type="${mimetype}" href="/get/${fmt}/${record[FM['id']]}" /> <link rel="x-stanza-cover-image" type="image/jpeg" href="/get/cover/${record[FM['id']]}" /> <link rel="x-stanza-cover-image-thumbnail" type="image/jpeg" href="/get/thumb/${record[FM['id']]}" /> <content type="xhtml"> @@ -171,11 +173,14 @@ class LibraryServer(object): try: cherrypy.engine.start() self.is_running = True + publish_zeroconf('Books in calibre', '_stanza._tcp', + self.opts.port, {'path':'/stanza'}) cherrypy.engine.block() except Exception, e: self.exception = e finally: self.is_running = False + stop_zeroconf() def exit(self): cherrypy.engine.exit() @@ -218,7 +223,7 @@ class LibraryServer(object): fmt = self.db.format(id, format, index_is_id=True, as_file=True, mode='rb') if fmt is None: raise cherrypy.HTTPError(404, 'book: %d does not have format: %s'%(id, format)) - mt = mimetypes.guess_type('dummy.'+format.lower())[0] + mt = guess_type('dummy.'+format.lower())[0] if mt is None: mt = 'application/octet-stream' cherrypy.response.headers['Content-Type'] = mt @@ -258,8 +263,9 @@ class LibraryServer(object): for record in iter(self.db): r = record[FIELD_MAP['formats']] r = r.upper() if r else '' - if 'EPUB' in r: - authors = ' & '.join([i.replace('|', ',') for i in record[FIELD_MAP['authors']].split(',')]) + if 'EPUB' in r or 'PDB' in r: + authors = ' & '.join([i.replace('|', ',') for i in + record[FIELD_MAP['authors']].split(',')]) extra = [] rating = record[FIELD_MAP['rating']] if rating > 0: @@ -270,12 +276,18 @@ class LibraryServer(object): extra.append('TAGS: %s<br />'%', '.join(tags.split(','))) series = record[FIELD_MAP['series']] if series: - extra.append('SERIES: %s [%d]<br />'%(series, record[FIELD_MAP['series_index']])) - books.append(self.STANZA_ENTRY.generate(authors=authors, - record=record, FM=FIELD_MAP, - port=self.opts.port, - extra = ''.join(extra), - ).render('xml').decode('utf8')) + extra.append('SERIES: %s [%d]<br />'%(series, + record[FIELD_MAP['series_index']])) + fmt = 'epub' if 'EPUB' in r else 'pdb' + mimetype = guess_type('dummy.'+fmt)[0] + books.append(self.STANZA_ENTRY.generate( + authors=authors, + record=record, FM=FIELD_MAP, + port=self.opts.port, + extra = ''.join(extra), + mimetype=mimetype, + fmt=fmt, + ).render('xml').decode('utf8')) updated = self.db.last_modified() cherrypy.response.headers['Last-Modified'] = self.last_modified(updated) @@ -325,7 +337,11 @@ class LibraryServer(object): @expose def index(self, **kwargs): 'The / URL' - return self.static('index.html') + stanza = cherrypy.request.headers.get('Stanza-Device-Name', 919) + if stanza == 919: + return self.static('index.html') + return self.stanza() + @expose def get(self, what, id): diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 427b41ca5f..e08222ed3a 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -1,9 +1,8 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>' ''' Post installation script for linux ''' -import sys, os, re, shutil +import sys, os, shutil from subprocess import check_call, call -from tempfile import NamedTemporaryFile from calibre import __version__, __appname__ from calibre.devices import devices @@ -18,15 +17,8 @@ entry_points = { 'console_scripts': [ \ 'ebook-device = calibre.devices.prs500.cli.main:main', 'ebook-meta = calibre.ebooks.metadata.cli:main', - 'txt2lrf = calibre.ebooks.lrf.txt.convert_from:main', - 'html2lrf = calibre.ebooks.lrf.html.convert_from:main', - 'html2oeb = calibre.ebooks.html:main', - 'html2epub = calibre.ebooks.epub.from_html:main', - 'odt2oeb = calibre.ebooks.odt.to_oeb:main', + 'ebook-convert = calibre.ebooks.conversion.cli:main', 'markdown-calibre = calibre.ebooks.markdown.markdown:main', - 'lit2lrf = calibre.ebooks.lrf.lit.convert_from:main', - 'epub2lrf = calibre.ebooks.lrf.epub.convert_from:main', - 'rtf2lrf = calibre.ebooks.lrf.rtf.convert_from:main', 'web2disk = calibre.web.fetch.simple:main', 'feeds2disk = calibre.web.feeds.main:main', 'calibre-server = calibre.library.server:main', @@ -34,22 +26,10 @@ entry_points = { 'feeds2epub = calibre.ebooks.epub.from_feeds:main', 'feeds2mobi = calibre.ebooks.mobi.from_feeds:main', 'web2lrf = calibre.ebooks.lrf.web.convert_from:main', - 'pdf2lrf = calibre.ebooks.lrf.pdf.convert_from:main', - 'mobi2lrf = calibre.ebooks.lrf.mobi.convert_from:main', - 'fb22lrf = calibre.ebooks.lrf.fb2.convert_from:main', - 'any2lrf = calibre.ebooks.lrf.any.convert_from:main', - 'any2epub = calibre.ebooks.epub.from_any:main', - 'any2lit = calibre.ebooks.lit.from_any:main', - 'any2mobi = calibre.ebooks.mobi.from_any:main', 'lrf2lrs = calibre.ebooks.lrf.lrfparser:main', 'lrs2lrf = calibre.ebooks.lrf.lrs.convert_from:main', - 'pdfreflow = calibre.ebooks.lrf.pdf.reflow:main', 'isbndb = calibre.ebooks.metadata.isbndb:main', 'librarything = calibre.ebooks.metadata.library_thing:main', - 'mobi2oeb = calibre.ebooks.mobi.reader:main', - 'oeb2mobi = calibre.ebooks.mobi.writer:main', - 'lit2oeb = calibre.ebooks.lit.reader:main', - 'oeb2lit = calibre.ebooks.lit.writer:main', 'comic2lrf = calibre.ebooks.lrf.comic.convert_from:main', 'comic2epub = calibre.ebooks.epub.from_comic:main', 'comic2mobi = calibre.ebooks.mobi.from_comic:main', @@ -60,7 +40,6 @@ entry_points = { 'calibre-parallel = calibre.parallel:main', 'calibre-customize = calibre.customize.ui:main', 'pdftrim = calibre.ebooks.pdf.pdftrim:main' , - 'any2pdf = calibre.ebooks.pdf.from_any:main', ], 'gui_scripts' : [ __appname__+' = calibre.gui2.main:main', @@ -171,25 +150,16 @@ def setup_completion(fatal_errors): from calibre.ebooks.lrf.lrfparser import option_parser as lrf2lrsop from calibre.gui2.lrf_renderer.main import option_parser as lrfviewerop from calibre.ebooks.lrf.pdf.reflow import option_parser as pdfhtmlop - from calibre.ebooks.mobi.reader import option_parser as mobioeb - from calibre.ebooks.lit.reader import option_parser as lit2oeb from calibre.web.feeds.main import option_parser as feeds2disk from calibre.web.feeds.recipes import titles as feed_titles from calibre.ebooks.lrf.feeds.convert_from import option_parser as feeds2lrf from calibre.ebooks.lrf.comic.convert_from import option_parser as comicop - from calibre.ebooks.epub.from_html import option_parser as html2epub - from calibre.ebooks.html import option_parser as html2oeb - from calibre.ebooks.odt.to_oeb import option_parser as odt2oeb from calibre.ebooks.epub.from_feeds import option_parser as feeds2epub from calibre.ebooks.mobi.from_feeds import option_parser as feeds2mobi - from calibre.ebooks.epub.from_any import option_parser as any2epub - from calibre.ebooks.lit.from_any import option_parser as any2lit from calibre.ebooks.epub.from_comic import option_parser as comic2epub - from calibre.ebooks.mobi.from_any import option_parser as any2mobi - from calibre.ebooks.mobi.writer import option_parser as oeb2mobi - from calibre.gui2.main import option_parser as guiop + from calibre.gui2.main import option_parser as guiop any_formats = ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', - 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt'] + 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2', 'odt'] f = open_file('/etc/bash_completion.d/libprs500') f.close() os.remove(f.name) @@ -209,16 +179,10 @@ def setup_completion(fatal_errors): f.write(opts_and_exts('pdf2lrf', htmlop, ['pdf'])) f.write(opts_and_exts('any2lrf', htmlop, any_formats)) f.write(opts_and_exts('calibre', guiop, any_formats)) - f.write(opts_and_exts('any2epub', any2epub, any_formats)) - f.write(opts_and_exts('any2lit', any2lit, any_formats)) - f.write(opts_and_exts('any2mobi', any2mobi, any_formats)) - f.write(opts_and_exts('oeb2mobi', oeb2mobi, ['opf'])) f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf'])) f.write(opts_and_exts('ebook-meta', metaop, list(meta_filetypes()))) f.write(opts_and_exts('lrfviewer', lrfviewerop, ['lrf'])) f.write(opts_and_exts('pdfrelow', pdfhtmlop, ['pdf'])) - f.write(opts_and_exts('mobi2oeb', mobioeb, ['mobi', 'prc'])) - f.write(opts_and_exts('lit2oeb', lit2oeb, ['lit'])) f.write(opts_and_exts('comic2lrf', comicop, ['cbz', 'cbr'])) f.write(opts_and_exts('comic2epub', comic2epub, ['cbz', 'cbr'])) f.write(opts_and_exts('comic2mobi', comic2epub, ['cbz', 'cbr'])) @@ -227,9 +191,6 @@ def setup_completion(fatal_errors): f.write(opts_and_words('feeds2lrf', feeds2lrf, feed_titles)) f.write(opts_and_words('feeds2epub', feeds2epub, feed_titles)) f.write(opts_and_words('feeds2mobi', feeds2mobi, feed_titles)) - f.write(opts_and_exts('html2epub', html2epub, ['html', 'htm', 'xhtm', 'xhtml', 'opf'])) - f.write(opts_and_exts('html2oeb', html2oeb, ['html', 'htm', 'xhtm', 'xhtml'])) - f.write(opts_and_exts('odt2oeb', odt2oeb, ['odt'])) f.write(''' _prs500_ls() { @@ -392,43 +353,27 @@ def option_parser(): help='Save a manifest of all installed files to the specified location') return parser -def install_man_pages(fatal_errors): - from bz2 import compress - import subprocess +def install_man_pages(fatal_errors, use_destdir=False): + from calibre.utils.help2man import create_man_page + prefix = os.environ.get('DESTDIR', '/') if use_destdir else '/' + manpath = os.path.join(prefix, 'usr/share/man/man1') + if not os.path.exists(manpath): + os.makedirs(manpath) print 'Installing MAN pages...' - manpath = '/usr/share/man/man1' - f = NamedTemporaryFile() - f.write('[see also]\nhttp://%s.kovidgoyal.net\n'%__appname__) - f.flush() manifest = [] - os.environ['PATH'] += ':'+os.path.expanduser('~/bin') for src in entry_points['console_scripts']: - prog = src[:src.index('=')].strip() - if prog in ('ebook-device', 'markdown-calibre', - 'calibre-fontconfig', 'calibre-parallel'): + prog, right = src.split('=') + prog = prog.strip() + module = __import__(right.split(':')[0].strip(), fromlist=['a']) + parser = getattr(module, 'option_parser', None) + if parser is None: continue - - help2man = ('help2man', prog, '--name', 'part of %s'%__appname__, - '--section', '1', '--no-info', '--include', - f.name, '--manual', __appname__) + parser = parser() + raw = create_man_page(prog, parser) manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2') print '\tInstalling MAN page for', prog - try: - p = subprocess.Popen(help2man, stdout=subprocess.PIPE) - except OSError, err: - import errno - if err.errno != errno.ENOENT: - raise - print 'Failed to install MAN pages as help2man is missing from your system' - break - o = p.stdout.read() - raw = re.compile(r'^\.IP\s*^([A-Z :]+)$', re.MULTILINE).sub(r'.SS\n\1', o) - if not raw.strip(): - print 'Unable to create MAN page for', prog - continue - f2 = open_file(manfile) - manifest.append(f2.name) - f2.write(compress(raw)) + open(manfile, 'wb').write(raw) + manifest.append(manfile) return manifest def post_install(): @@ -440,9 +385,9 @@ def post_install(): manifest = [] setup_desktop_integration(opts.fatal_errors) if opts.no_root or os.geteuid() == 0: + manifest += install_man_pages(opts.fatal_errors, use_destdir) manifest += setup_udev_rules(opts.group_file, not opts.dont_reload, opts.fatal_errors) manifest += setup_completion(opts.fatal_errors) - manifest += install_man_pages(opts.fatal_errors) else: print "Skipping udev, completion, and man-page install for non-root user." diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index bb1eb9ba02..7ca4b1b876 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -34,6 +34,8 @@ What formats does |app| support conversion to/from? | | | | | | | | ODT | ✔ | ✔ | ✔ | | | | | | | +| | FB2 | ✔ | ✔ | ✔ | +| | | | | | | | HTML | ✔ | ✔ | ✔ | | | | | | | | **Input formats** | CBR | ✔ | ✔ | ✔ | @@ -121,13 +123,12 @@ turned into a collection on the reader. Note that the PRS-500 does not support c How do I use |app| with my iPhone? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ First install the Stanza reader on your iPhone from http://www.lexcycle.com . Then, - * Set the output format for calibre to EPUB (this can be done in the configuration dialog accessed by the little hammer icon next to the search bar) + + * Set the output format for calibre to EPUB (The output format can be set next to the big red heart) * Convert the books you want to read on your iPhone to EPUB format by selecting them and clicking the Convert button. - * Turn on the Content Server in the configurations dialog and leave |app| running. - * In the Stanza reader on your iPhone, add a new catalog. The URL of the catalog is of the form - ``http://10.34.56.89:8080/stanza``, where you should replace the IP address ``10.34.56.89`` - with the IP address of your computer. Stanza will the use the |app| content server to access all the - EPUB books in your |app| database. + * Turn on the Content Server in |app|'s preferences and leave |app| running. + +Now you should be able to access your books on your iPhone. Library Management ------------------ diff --git a/src/calibre/parallel.py b/src/calibre/parallel.py index 7bdb606642..3480a01a89 100644 --- a/src/calibre/parallel.py +++ b/src/calibre/parallel.py @@ -227,7 +227,8 @@ class WorkerMother(object): return env def spawn_free_spirit_osx(self, arg, type='free_spirit'): - script = 'from calibre.parallel import main; main(args=["calibre-parallel", %s]);'%repr(arg) + script = ('from calibre.parallel import main; ' + 'main(args=["calibre-parallel", %s]);')%repr(arg) exe = self.gui_executable if type == 'free_spirit' else self.executable cmdline = [exe, '-c', self.prefix+script] child = WorkerStatus(subprocess.Popen(cmdline, env=self.get_env())) diff --git a/src/calibre/trac/donations/server.py b/src/calibre/trac/donations/server.py index 8e7a096353..24174db801 100644 --- a/src/calibre/trac/donations/server.py +++ b/src/calibre/trac/donations/server.py @@ -196,7 +196,7 @@ class Server(object): def calculate_month_trend(self, days=31): stats = self.get_slice(date.today()-timedelta(days=days-1), date.today()) - fig = plt.figure(2, (12, 4), 96)#, facecolor, edgecolor, frameon, FigureClass) + fig = plt.figure(2, (10, 4), 96)#, facecolor, edgecolor, frameon, FigureClass) fig.clear() ax = fig.add_subplot(111) x = list(range(days-1, -1, -1)) @@ -216,7 +216,7 @@ Donors per day: %(dpd).2f ad=stats.average_deviation, dpd=len(stats.totals)/float(stats.period.days), ) - text = ax.annotate(text, (0.6, 0.65), textcoords='axes fraction') + text = ax.annotate(text, (0.5, 0.65), textcoords='axes fraction') fig.savefig(self.MONTH_TRENDS) def calculate_trend(self): diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index 9c852c554e..00bea7d65f 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -18,7 +18,6 @@ DEPENDENCIES = [ ('lxml', '2.1.5', 'lxml', 'python-lxml', 'python-lxml'), ('python-dateutil', '1.4.1', 'python-dateutil', 'python-dateutil', 'python-dateutil'), ('BeautifulSoup', '3.0.5', 'beautifulsoup', 'python-beautifulsoup', 'python-BeautifulSoup'), - ('help2man', '1.36.4', 'help2man', 'help2man', 'help2man'), ] @@ -34,9 +33,10 @@ def get_linux_data(version='1.0.0'): data['title'] = 'Download calibre for linux' data['supported'] = [] for name, title in [ - ('ubuntu', 'Ubuntu Jaunty Jackalope'), ('debian', 'Debian Sid'), ('exherbo', 'Exherbo'), + ('foresight', 'Foresight 2.1'), + ('ubuntu', 'Ubuntu Jaunty Jackalope'), ]: data['supported'].append(CoolDistro(name, title, prefix='http://calibre.kovidgoyal.net')) @@ -177,11 +177,11 @@ else: compatibility='%s works on OS X Tiger and above.'%(__appname__,), path=MOBILEREAD+file, app=__appname__, note=Markup(\ - ''' + u''' <ol> <li>Before trying to use the command line tools, you must run the app at least once. This will ask you for you password and then setup the symbolic links for the command line tools.</li> <li>The app cannot be run from within the dmg. You must drag it to a folder on your filesystem (The Desktop, Applications, wherever).</li> - <li>In order for localization of the user interface in your language, select your language in the configuration dialog (by clicking the hammer icon next to the search bar) and select your language.</li> + <li>In order for localization of the user interface in your language, select your language in the preferences (by pressing u\2318+P) and select your language.</li> </ol> ''')) return 'binary.html', data, None diff --git a/src/calibre/trac/plugins/templates/linux.html b/src/calibre/trac/plugins/templates/linux.html index 066f3c9b6d..96881aa108 100644 --- a/src/calibre/trac/plugins/templates/linux.html +++ b/src/calibre/trac/plugins/templates/linux.html @@ -88,7 +88,7 @@ sudo python -c "import urllib2; exec urllib2.urlopen('http://calibre.kovidgoyal. be ignored. </li> <li> - You must have help2man and xdg-utils installed + You must have xdg-utils installed on your system before running the installer. </li> <li> diff --git a/src/calibre/translations/ar.po b/src/calibre/translations/ar.po index 5838f96530..b356411597 100644 --- a/src/calibre/translations/ar.po +++ b/src/calibre/translations/ar.po @@ -7,33 +7,33 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-02-04 10:04+0000\n" -"Last-Translator: عبد الله شلي (Abdellah Chelli) <sneetsher@gmail.com>\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-13 14:18+0000\n" +"Last-Translator: صقر بن عبدالله <Unknown>\n" "Language-Team: Arabic <ar@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 msgid "Does absolutely nothing" -msgstr "" +msgstr "لا يفعل شيءً" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,23 +86,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "مجهول" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 msgid "Base" -msgstr "أساس" +msgstr "قاعدة" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 msgid "File type" @@ -110,11 +110,11 @@ msgstr "نوع الملف" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:182 msgid "Metadata reader" -msgstr "" +msgstr "قارئ الميتاداتا" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:209 msgid "Metadata writer" -msgstr "كاتب البيانات الوصفية" +msgstr "كاتب الميتاداتا" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 msgid "" @@ -122,6 +122,8 @@ msgid "" "linked files. This plugin is run every time you add an HTML file to the " "library." msgstr "" +"إلتحاق بكل الوصلات المحلية في ملف HTML وإنشاء ملف ZIP ليحتوي كل الملفات " +"الموصولة. هذا الملحق ينفّذ كل مرة تضيف ملف HTML إلى المكتبة." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:43 @@ -137,26 +139,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:146 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:156 msgid "Read metadata from %s files" -msgstr "إقرأ البيانات الوصفية من الملفات %s" +msgstr "يقرأ الميتاداتا من الملفات %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:166 msgid "Extract cover from comic files" -msgstr "" +msgstr "استخرج الغلاف من ملف الرسومات" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:186 msgid "Read metadata from ebooks in ZIP archives" -msgstr "إقرأ البيانات الوصفية من كتب إلكترونية في محفوظات ZIP" +msgstr "إقرأ ميتاداتا لكتب في أرشيفات ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:196 msgid "Read metadata from ebooks in RAR archives" -msgstr "" +msgstr "إقرأ ميتاداتا لكتب في أرشيفات RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:207 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:217 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:227 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:237 msgid "Set metadata in %s files" -msgstr "" +msgstr "ضبط الميتاداتا في الملفات %s" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 msgid "Installed plugins" @@ -164,11 +166,11 @@ msgstr "ملحقات مثبتة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 msgid "Mapping for filetype plugins" -msgstr "" +msgstr "تعيين لملحقات أنواع الملفات" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Local plugin customization" -msgstr "تخصيص ملحقات محلية" +msgstr "تخصيص الملحقات المحلية" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 msgid "Disabled plugins" @@ -176,7 +178,7 @@ msgstr "ملحقات معطلة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 msgid "No valid plugin found in " -msgstr "لم يعثر على أي ملحق صالح في " +msgstr "لا يجد ملحق صالح " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:185 msgid "Initialization of plugin %s failed with traceback:" @@ -189,46 +191,50 @@ msgid "" " Customize calibre by loading external plugins.\n" " " msgstr "" +" %prog options\n" +" \n" +"تخصيص كاليبر بتحميل ملحقات خارجية.\n" +" " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:268 msgid "Add a plugin by specifying the path to the zip file containing it." -msgstr "أضف ملحقا بتعيين المسار إلى ملف zip الذي يحتويه." +msgstr "إضافة ملحق يتخصيص مسار إلى ملف zip الذي يحتويه." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:270 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" -msgstr "" +msgstr "حذف الملحق المخصص عن طريق اسمه. لا يؤثر على الملحقات المضمنة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:272 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." -msgstr "" +msgstr "تخصيص الملحق حدد اسم الملحق وسلسلة التخصيص وفرقهما بفاصلة." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:274 msgid "List all installed plugins" -msgstr "أسرد كل الملحقات المثبتة" +msgstr "قائمة كل الملحقات المثبتة" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:276 msgid "Enable the named plugin" -msgstr "شغل الملحق المسمى" +msgstr "تمكين الملحق المسمى" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Disable the named plugin" -msgstr "عطل الملحق المسمى" +msgstr "تعطيل الملحق المسمى" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." -msgstr "" +msgstr "ليس للقارئ بطاقة تخزين." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "لا توجد مساحة كافية في بطاقة التخزين" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "لا توجد مساحة كافية في الذاكرة الرئيسية" @@ -239,17 +245,17 @@ msgstr "لا توجد مساحة كافية في الذاكرة الرئيسية #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:231 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:258 msgid "Unable to detect the %s disk drive. Try rebooting." -msgstr "" +msgstr "لم يتمكن من كشف القرص %s. حاول إعادة التشغيل." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:94 msgid "Options to control the conversion to EPUB" -msgstr "" +msgstr "الخيارات للتحكّم على التحويل لتهيئة EPUB" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:105 msgid "" "The output EPUB file. If not specified, it is derived from the input file " "name." -msgstr "" +msgstr "خرج الملف EPUB. إذا لم يتم التحديد، سوف يستخرج من اسم ملف الدخل." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:108 msgid "" @@ -266,7 +272,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:117 msgid "Control auto-detection of document structure." -msgstr "" +msgstr "تحكّم بالكشف الآلي لبناء المستند" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:122 msgid "" @@ -292,19 +298,22 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:139 msgid "Path to the cover to be used for this book" -msgstr "" +msgstr "المسار إلى الغلاف الذي سيستخدم لهذا الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:142 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "" +"استخدم الغلاف التي تم كشفه في ملف المصدر بدلاً من الغلاف الذي تم تخصيصه." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:145 msgid "" "Remove the first image from the input ebook. Useful if the first image in " "the source file is a cover and you are specifying an external cover." msgstr "" +"حذف أول صورة من دخل الكتاب الإلكتروني. هذا يفيد حين تريد استخدام غلاف مختلف " +"من الغلاف المضمون." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:149 msgid "" @@ -346,13 +355,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:175 msgid "Don't add auto-detected chapters to the Table of Contents." -msgstr "" +msgstr "لا تضف الفصول المكشوفة آلياً إلى قائمة المحتويات." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:177 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" msgstr "" +"إذا يتم كشف عدد أقل من هذا بين الفصول فسوف يضيف وصلات إلى قائمة المحتويات. " +"الإفتراضي هو: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:180 msgid "" @@ -386,35 +397,39 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" +"عادةً، إذا يوجد قائمة محتويات في الملف المصدر، يتم استخدامه بدلاً من القائمة " +"التي تم إنشاءه آلياً. بهذا الخيار، يتم استخدام القائمة المنشئة آلياً دوماً." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" -msgstr "" +msgstr "تحكّم بتخطيط الصفحة" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:204 msgid "Set the top margin in pts. Default is %default" -msgstr "" +msgstr "ضبط الهامش الأعلى بنقاط. الإفتراضي هو %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:206 msgid "Set the bottom margin in pts. Default is %default" -msgstr "" +msgstr "ضبط الهامش الأسفل بنقاط. الإفتراضي هو %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:208 msgid "Set the left margin in pts. Default is %default" -msgstr "" +msgstr "ضبط الهامش الأيسر بنقاط. الإفتراضي هو %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:210 msgid "Set the right margin in pts. Default is %default" -msgstr "" +msgstr "ضبط الهامش الأيمن بنقاط. الإفتراضي هو %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:212 msgid "" "The base font size in pts. Default is %defaultpt. Set to 0 to disable " "rescaling of fonts." msgstr "" +"حجم الخطوط الأساسية بنقاط. الإفتراضي هو %defaultpt. اضبطه بـ0 كي يعطّل تحجيم " +"الخطوط." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:215 msgid "" @@ -426,13 +441,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:221 msgid "Do not force text to be justified in output." -msgstr "" +msgstr "لا تلزم النصّ بأن يكون مساوى في الخرج." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:223 msgid "" "Remove table markup, converting it into paragraphs. This is useful if your " "source file uses a table to manage layout." msgstr "" +"حذف توسيم الجداول، وتحيلها إلى فقرات. هذا يفيد إذا الملف المصدر يستخدم " +"الجداول لترتيب تخطيط النصّ." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:226 msgid "" @@ -456,7 +473,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:239 msgid "" "Extract the contents of the produced EPUB file to the specified directory." -msgstr "" +msgstr "استخراج المحتوى من ملف EPUB المنتج إلى الدليل المخصص." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:186 msgid "" @@ -465,12 +482,16 @@ msgid "" "Convert any of a large number of ebook formats to a %s file. Supported " "formats are: %s\n" msgstr "" +"%%prog [خيارات] اسم الملف\n" +"\n" +"يحوّل أي نوع من أنواع تهيئات الكتاب الإلكتروني إلى ملف %s. التهيئات المدعومة " +"هي: %s.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" -msgstr "" +msgstr "لم يتمكّن من الحصول على كتاب داخل الأرشيف" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,20 +502,20 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " -msgstr "" +msgstr "تم كتابة الخرج في " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" -msgstr "" +msgstr "يجب أن تخصص ملف HTML لتدخيله" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/iterator.py:36 msgid "%s format books are not supported" -msgstr "" +msgstr "الكتب بتهيئة %s ليست مدعومة" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/split.py:30 msgid "" @@ -506,89 +527,91 @@ msgid "" "\t\tToo much markup. Re-splitting without structure preservation. This may " "cause incorrect rendering." msgstr "" +"\t\tيوجد هناك الكثير من التوسيم. سيتم التقسيم بدون الاحتفاظ على التخطيط. قد " +"يتسبب هذا بتصوير خاطئ." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " -msgstr "" +msgstr "تم كتابة الـHTML المنفّذ " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." -msgstr "" +msgstr "دليل الخرج. الإفتراض هو الدليل الحالي." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." -msgstr "" +msgstr "ترميز الحروف لملفات HTML. الإفتراضي هو للكشف الآلي." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." -msgstr "" +msgstr "تحكّم بالوصلات التالية في ملفات HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" -msgstr "" +msgstr "ضبط الميتاداتا للكتاب المنشئ" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." -msgstr "" +msgstr "ضبط العنوان. الإفتراضي هو ما يكشف آلياً." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." -msgstr "" +msgstr "مؤلفون الكتاب، قائمة مفرّقة بـ&." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." -msgstr "" +msgstr "مواضيع الكتاب، قائمة مفرّقة بفاصلة." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." -msgstr "" +msgstr "ضبط ناشر هذا الكتاب." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." -msgstr "" +msgstr "تلخيص عن هذا الكتاب." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -602,31 +625,31 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." -msgstr "" +msgstr "إنشاء ملف LIT من EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." -msgstr "" +msgstr "دليل الخرج. الإفتراضي هو الدليل الحالي." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" -msgstr "" +msgstr "تم إنشاء كتاب OEB في" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:725 msgid "%prog [options] OPFFILE" @@ -640,50 +663,54 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:76 msgid "Set the title. Default: filename." -msgstr "" +msgstr "تحديد العنوان. الإفتراضي: اسم الملف." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:78 msgid "" "Set the author(s). Multiple authors should be set as a comma separated list. " "Default: %default" msgstr "" +"تحديد المؤلف، إن كان هناك أكثر من مؤلف واحد، فرق بين أسماءهم بفاصلة. " +"الإفتراضي هو: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 msgid "Set the comment." -msgstr "" +msgstr "تحديد التعليق." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:83 msgid "Set the category" -msgstr "" +msgstr "تحديد التصنيف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:85 msgid "Sort key for the title" -msgstr "" +msgstr "مفتاح الترتيب للعنوان" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 msgid "Sort key for the author" -msgstr "" +msgstr "مفتاح الترتيب للمؤلف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:89 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:111 msgid "Publisher" -msgstr "ناشر" +msgstr "الناشر" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:91 msgid "Path to file containing image to be used as cover" -msgstr "" +msgstr "المسار إلى الملف الذي يحتوي صورة الغلاف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:93 msgid "" "If there is a cover graphic detected in the source file, use that instead of " "the specified cover." msgstr "" +"إذا هناك صورة غلاف متوفرة في الملف المصدر، استخدمها بدلاً من الغلاف الذي تم " +"تخصيصه." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:96 msgid "Output file name. Default is derived from input filename" -msgstr "" +msgstr "اسم ملف الخرج. الإفتراضي يستخرج من ملف الدخل" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:554 @@ -691,6 +718,8 @@ msgid "" "Render HTML tables as blocks of text instead of actual tables. This is " "neccessary if the HTML contains very large or complex tables." msgstr "" +"تصوير جداول HTML كقطع نصّية بدلاً من جداول حقيقية. يلزم هذا إذا الـHTML " +"يحتوي على جداول معقّدة أو كبيرة جداً." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:101 msgid "" @@ -705,11 +734,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:106 msgid "Set the space between words in pts. Default is %default" -msgstr "" +msgstr "ضبط المساحة بين الكلمات بنقاط. الإفتراضي هو %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:108 msgid "Separate paragraphs by blank lines." -msgstr "" +msgstr "فرّق بين الفقرات بأسطر فارغة." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:110 msgid "Add a header to all the pages with title and author." @@ -756,6 +785,8 @@ msgid "" "Render all content as black on white instead of the colors specified by the " "HTML or CSS." msgstr "" +"تصوير كل المحتويات كأسود على أبيض بدلاً من الألوان كما يوجد في الـHTML أو " +"CSS." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:133 msgid "" @@ -766,25 +797,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:139 msgid "Left margin of page. Default is %default px." -msgstr "" +msgstr "الهامش الأيسر من الصفحة. الإفتراضي هو %default px." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:141 msgid "Right margin of page. Default is %default px." -msgstr "" +msgstr "الهامش الأيمن من الصفحة. الإفتراضي هو %default px." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:143 msgid "Top margin of page. Default is %default px." -msgstr "" +msgstr "الهامش الأعلى من الصفحة. الإفتراضي هو %default px." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:145 msgid "Bottom margin of page. Default is %default px." -msgstr "" +msgstr "الهامش الأسفل من الصفحة. الإفتراضي هو %default px." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:147 msgid "" "Render tables in the HTML as images (useful if the document has large or " "complex tables)" msgstr "" +"تحويل الجداول في الـHTML كصور (هذا يفيد إذا كان للمستند جداول كبيرة أو " +"معقّدة)" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:149 msgid "" @@ -807,11 +840,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:162 msgid "Don't add links to the table of contents." -msgstr "" +msgstr "لا تضف وصلات في قائمة المحتويات." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:166 msgid "Prevent the automatic detection chapters." -msgstr "" +msgstr "منع كشف آلي للفصول." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:169 msgid "" @@ -855,7 +888,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:189 msgid "Add detected chapters to the table of contents." -msgstr "" +msgstr "إضافة فصول مكشوفة إلى قائمة المحتويات." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:192 msgid "Preprocess Baen HTML files to improve generated LRF." @@ -869,7 +902,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:196 msgid "Use this option on html0 files from Book Designer." -msgstr "" +msgstr "استخدم هذا الخيار على ملفات html0 من Book Designer." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:199 msgid "" @@ -897,7 +930,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:219 msgid "Convert to LRS" -msgstr "" +msgstr "حول إلى LRS" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:221 msgid "" @@ -915,7 +948,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." -msgstr "" +msgstr "تحويل من %s إلى LRF غير مدعوم." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 msgid "" @@ -930,125 +963,143 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." -msgstr "" +msgstr "لم يتم تحديد الملف لتحويله." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" -msgstr "" +msgstr "تم تصوير %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" -msgstr "" +msgstr "فشل %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" +"فشل في تنفيذ الرسومات: %s\n" +"\n" +"%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" -msgstr "" +msgstr "خيارات للتحكّم بتحويل ملفات الرسومات (CBR, CBZ) إلى كتب إلكترونية." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." -msgstr "" +msgstr "تم إنشاء عنوان للكتاب. الإفتراضي يؤخذ من اسم الملف." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" +"تحديد المؤلف في ميتاداتا الكتاب الذي تم إنشاءه. الإفتراضي هو %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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." -msgstr "" +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 "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." -msgstr "" +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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" +"تعطيل اقتصاص صفحات الرسم. لبعضهم، الاقتصاص قد يتسبب بحذف محتوى وحدود." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" -msgstr "" +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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." -msgstr "" +msgstr "لا تظهر شريط التقدّم." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" "Convert a comic in a CBZ or CBR file to an ebook. \n" msgstr "" +"%prog [options] comic.cb[z|r]\n" +"\n" +"يحوّل رسومات موجودة في ملف CBR أو CBZ إلى كتاب إلكتروني. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" -msgstr "" +msgstr "تم كتابة الخرج إلى" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." -msgstr "" +msgstr "تصوير صفحات الرسومات..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/epub/convert_from.py:17 msgid "" @@ -1073,109 +1124,113 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:30 msgid "Keep generated HTML files after completing conversion to LRF." -msgstr "" +msgstr "احتفظ بملفات HTML المنشئة بعد إنتهاء من تحويل لـLRF." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 msgid "Options to control the behavior of feeds2disk" -msgstr "" +msgstr "الخيارات للتحكّم بسلوك feeds2disk" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:22 msgid "Options to control the behavior of html2lrf" -msgstr "" +msgstr "الخيارات للتحكّم بسلوك html2lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:44 msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." -msgstr "" +msgstr "\tتم اكتشاف ملف Book Designer." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" -msgstr "" +msgstr "يعالج %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." -msgstr "" +msgstr "\tتحويل لـBBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" -msgstr "" +msgstr "%s ملف فارغ" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" -msgstr "" +msgstr "لا يمكن إضافة وصلات %s لقائمة المحتويات" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" +"لم يتمكن من معالجة: %s\n" +"%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." -msgstr "" +msgstr "حدث خطأ حين تنفيذ الجدول: %s. سيتم تجاهل توسيم الجدول." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" +"جدول غير صالح:\n" +"%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" -msgstr "" +msgstr "لم يتمكن من قراءة صورة الغلاف: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" -msgstr "" +msgstr "لا يمكن القراءة من: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" -msgstr "" +msgstr "فشل في معالجة ملف opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1202,11 +1257,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" -msgstr "" +msgstr "خرج ملف LRS" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" -msgstr "" +msgstr "لا تحفظ ملفات الصور والخظوظ المضمنة في القرص" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." @@ -1214,38 +1269,38 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." -msgstr "" +msgstr "إنشاء XML..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " -msgstr "" +msgstr "تم كتابة LRS في " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" -msgstr "" +msgstr "لم يتمكّن من قراءة ملف الصورة المصغّرة:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" -msgstr "" +msgstr "المسار إلى ملف الخرج" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." -msgstr "" +msgstr "تحويل LRS إلى LRS، يفيد في التنقيح." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:455 msgid "Invalid LRF file. Could not set metadata." -msgstr "" +msgstr "ملف LRF غير صالح. لم يتمكّن ضبط الميتاداتا." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:580 msgid "" @@ -1255,28 +1310,33 @@ msgid "" "Show/edit the metadata in an LRF file.\n" "\n" msgstr "" +"%prog [options] mybook.lrf\n" +"\n" +"\n" +"إظهار/تحرير الميتاداتا في ملف LRF.\n" +"\n" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:587 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:43 msgid "Set the book title" -msgstr "" +msgstr "تحديد عنوان الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set sort key for the title" -msgstr "" +msgstr "ضبط مفتاح الترتيب للعنوان" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set the author" -msgstr "" +msgstr "تحديد المؤلف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set sort key for the author" -msgstr "" +msgstr "ضبط مفتاح الترتيب للمؤلف" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:47 msgid "The category this book belongs to. E.g.: History" -msgstr "" +msgstr "تصنيف الكتاب. مثلاً: تاريخ" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:598 msgid "Path to a graphic that will be set as this files' thumbnail" @@ -1289,34 +1349,36 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:605 msgid "Extract thumbnail from LRF file" -msgstr "" +msgstr "استخراج الصورة المصغّرة من ملف LRF" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:191 msgid "Set the publisher" -msgstr "" +msgstr "تحديد الناشر" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Set the book classification" -msgstr "" +msgstr "ضبط تصنيف الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the book creator" -msgstr "" +msgstr "ضبط منشئ الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book producer" -msgstr "" +msgstr "تحديد منتج الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "" "Extract cover from LRF file. Note that the LRF format has no defined cover, " "so we use some heuristics to guess the cover." msgstr "" +"استخراج الغلاف من ملف LRF. لاحظ أن تهيئة LRF لا يستخدم غلاف مخصص، فنستخدم " +"بعض الشروط لتخمينه." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 msgid "Set book ID" -msgstr "" +msgstr "تحديد هوية الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/mobi/convert_from.py:43 msgid "" @@ -1348,6 +1410,7 @@ msgid "" "Path to output directory in which to create the HTML file. Defaults to " "current directory." msgstr "" +"المسار إلى دليل الخرج لإنشاء ملف HTML فيه. الإفتراضي هو الدليل الحالي." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:405 msgid "Be more verbose." @@ -1355,7 +1418,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:417 msgid "You must specify a single PDF file." -msgstr "" +msgstr "يجب أن تحدد ملف PDF واحد." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:21 msgid "" @@ -1381,11 +1444,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:45 msgid "Set the authors" -msgstr "" +msgstr "تحديد المؤلفين" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:49 msgid "Set the comment" -msgstr "" +msgstr "تحديد التعليق" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 @@ -1395,7 +1458,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 msgid "Title" -msgstr "" +msgstr "العنوان" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 @@ -1403,11 +1466,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 msgid "Author(s)" -msgstr "" +msgstr "المؤلف أو المؤلفون" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:289 msgid "Producer" -msgstr "" +msgstr "المنتج" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 @@ -1418,7 +1481,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:320 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" -msgstr "" +msgstr "التعليقات" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:112 @@ -1428,7 +1491,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" -msgstr "" +msgstr "الوسوم" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:113 @@ -1436,50 +1499,50 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" -msgstr "" +msgstr "السلسلة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:295 msgid "Language" -msgstr "" +msgstr "اللغة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 msgid "Timestamp" -msgstr "" +msgstr "ختم التوقيت" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:202 msgid "A comma separated list of tags to set" -msgstr "" +msgstr "ضبط قائمة من الوسوم المفرقة بفاصلة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:204 msgid "The series to which this book belongs" -msgstr "" +msgstr "السلسلة التي تحتوي الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:206 msgid "The series index" -msgstr "" +msgstr "فهرس السلسلة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:208 msgid "The book language" -msgstr "" +msgstr "لغة الكتاب" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:210 msgid "Extract the cover" -msgstr "" +msgstr "استخراج الغلاف" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:54 msgid "Usage:" -msgstr "" +msgstr "الاستخدام:" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:53 msgid "Usage: imp-meta file.imp" -msgstr "" +msgstr "الاستخدام: imp-meta file.imp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:54 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:60 msgid "No filename specified." -msgstr "" +msgstr "لم يتم تحديد اسم الملف." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:97 msgid "" @@ -1501,19 +1564,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:110 msgid "The author whose book to search for." -msgstr "" +msgstr "المؤلف الذي تريد البحث عنه." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:112 msgid "The title of the book to search for." -msgstr "" +msgstr "العنوان الذي تريد البحث عنه." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:114 msgid "The publisher of the book to search for." -msgstr "" +msgstr "الناشر الذي تريد البحث عنه." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:46 msgid "LibraryThing.com timed out. Try again later." -msgstr "" +msgstr "LibraryThing.com لم يرد. حاول لاحقاً." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "" @@ -1523,12 +1586,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:54 msgid " not found." -msgstr "" +msgstr " لم يوجد." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:57 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:88 msgid "LibraryThing.com server error. Try again later." -msgstr "" +msgstr "خطأ في خادم LibraryThing.com. حاول لاحقاً." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:66 msgid "" @@ -1538,26 +1601,26 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" -msgstr "" +msgstr "الاستخدام: %s file.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" -msgstr "" +msgstr "تم حفظ الغلاف في" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:187 msgid "Set the subject tags" -msgstr "" +msgstr "تحديد وسوم الموضوع" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:189 msgid "Set the language" -msgstr "" +msgstr "تحديد اللغة" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:193 msgid "Set the ISBN" -msgstr "" +msgstr "تحديد الـISBN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" @@ -1565,21 +1628,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:58 msgid "Usage: pdf-meta file.pdf" -msgstr "" +msgstr "الاستخدام: pdf-meta file.pdf" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:59 msgid "Usage: rb-meta file.rb" -msgstr "" +msgstr "الاستخدام: rb-meta file.rb" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_any.py:55 msgid "Creating Mobipocket file from EPUB..." -msgstr "" +msgstr "إنشاء ملف Mobipocket من EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1610,6 +1673,7 @@ msgid "" "When present, use the author sorting information for generating the " "Mobipocket author metadata." msgstr "" +"حين يوجد، استخدم معلومات ترتيب المؤلف لإنشاء ميتاداتا المؤلف في Mobipocket." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:560 msgid "" @@ -1627,7 +1691,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:576 msgid "[options]" -msgstr "" +msgstr "[الخيارات]" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:594 msgid "Unknown source profile %r" @@ -1639,38 +1703,38 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:57 msgid "The output directory. Defaults to the current directory." -msgstr "" +msgstr "دليل الخرج. الإفتراضي هو الدليل الحالي." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:822 msgid "Cover" -msgstr "" +msgstr "الغلاف" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:823 msgid "Title Page" -msgstr "" +msgstr "صقحة العنوان" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:824 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" -msgstr "" +msgstr "المحتويات" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:825 msgid "Index" -msgstr "" +msgstr "الفهرس" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:826 msgid "Glossary" -msgstr "" +msgstr "المسرد" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:827 msgid "Acknowledgements" -msgstr "" +msgstr "شكر وتقدير" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:828 msgid "Bibliography" -msgstr "" +msgstr "ببليوغرافيا" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:829 msgid "Colophon" @@ -1678,11 +1742,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:830 msgid "Copyright" -msgstr "" +msgstr "حقوق المؤلف" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:831 msgid "Dedication" -msgstr "" +msgstr "الإهداء" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:832 msgid "Epigraph" @@ -1690,27 +1754,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:833 msgid "Foreword" -msgstr "" +msgstr "افتتاحية" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:834 msgid "List of Illustrations" -msgstr "" +msgstr "قائمة الرسوم" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:835 msgid "List of Tables" -msgstr "" +msgstr "قائمة الجداول" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:836 msgid "Notes" -msgstr "" +msgstr "الملاحظات" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:837 msgid "Preface" -msgstr "" +msgstr "افتتاحية" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:838 msgid "Main Text" -msgstr "" +msgstr "النصّ الرئيسي" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:13 msgid "Options to control the transformation of pdf" @@ -1757,19 +1821,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "The format to use when saving single files to disk" -msgstr "" +msgstr "التهيئة لاتسخدامها في حفظ ملفات لوحدها في القرص" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Confirm before deleting" -msgstr "" +msgstr "تأكيد قبل الحذف" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Toolbar icon size" -msgstr "" +msgstr "حجم أيقونات شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Show button labels in the toolbar" -msgstr "" +msgstr "إظهار تسميات الأزرار في شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Main window geometry" @@ -1777,7 +1841,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Notify when a new version is available" -msgstr "" +msgstr "Notify when a new version is available" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Use Roman numerals for series number" @@ -1785,7 +1849,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" -msgstr "" +msgstr "ترتيب الوسوم حسب الشهرة" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" @@ -1793,15 +1857,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Defaults for conversion to LRF" -msgstr "" +msgstr "الإفتراضي للتحويل إلى LRF" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Options for the LRF ebook viewer" -msgstr "" +msgstr "الخيارات لمستعرض كتب LRF" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Formats that are viewed using the internal viewer" -msgstr "" +msgstr "تهيئات التي تعرض عن طريق المستعرض الداخلي" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Columns to be displayed in the book list" @@ -1817,15 +1881,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" -msgstr "" +msgstr "إظهار أيقونة صينية النظام" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" -msgstr "" +msgstr "رفع أخبار تم تنزيلها إلى الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Delete books from library after uploading to device" -msgstr "" +msgstr "حذف كتب من المكتبة بعد رفعها إلى الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "" @@ -1839,12 +1903,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 msgid "Added %s to library" -msgstr "" +msgstr "تم إضافة %s إلى المكتبة" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:162 msgid "Read metadata from " -msgstr "" +msgstr "إقرأ الميتاداتا من " #: /home/kovid/work/calibre/src/calibre/gui2/add.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:224 @@ -1852,6 +1916,7 @@ msgid "" "<p>Books with the same title as the following already exist in the database. " "Add them anyway?<ul>" msgstr "" +"<p>توجد كتب بنفس العنوان في قائمة البيانات. هل تريد إضافتهم بأية حال؟<ul>" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:121 @@ -1875,11 +1940,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 msgid "Reading metadata..." -msgstr "" +msgstr "قراءة الميتاداتا..." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:193 msgid "Searching in" -msgstr "" +msgstr "يتم البحث في" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:72 msgid "Device no longer connected." @@ -1887,31 +1952,31 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:117 msgid "Get device information" -msgstr "" +msgstr "احصل على معلومات الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:128 msgid "Get list of books on device" -msgstr "" +msgstr "احصل على قائمة الكتب على الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:137 msgid "Send metadata to device" -msgstr "" +msgstr "ارسل الميتاداتا إلى الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:146 msgid "Upload %d books to device" -msgstr "" +msgstr "رفع %d كتاب إلى الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:161 msgid "Delete books from device" -msgstr "" +msgstr "حذف كتب من الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:176 msgid "Download books from device" -msgstr "" +msgstr "تنزيل الكتب من الجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:186 msgid "View book on device" -msgstr "" +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 @@ -1920,7 +1985,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" -msgstr "" +msgstr "المسار" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:88 @@ -1930,14 +1995,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Formats" -msgstr "" +msgstr "التهيئات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" -msgstr "" +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 @@ -1948,81 +2013,85 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" -msgstr "" +msgstr "تسمية النصّ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:65 msgid "&Previous" -msgstr "" +msgstr "ال&سابق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:66 msgid "&Next" -msgstr "" +msgstr "ال&تالي" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" -msgstr "" +msgstr "إختيار التهيئة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:34 msgid "Set defaults for conversion of comics (CBR/CBZ files)" -msgstr "" +msgstr "ضبط الإفتراضي في تحويل الرسومات (ملفات CBZ/CBR)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:49 msgid "Set options for converting %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 -msgid "&Title:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 -msgid "&Author(s):" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 -msgid "&Number of Colors:" -msgstr "" +msgstr "ضبط الخيارات لتحويل %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +msgid "&Title:" +msgstr ":ال&عنوان" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +msgid "&Author(s):" +msgstr "ال&مؤلف:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +msgid "&Number of Colors:" +msgstr "&عدد الألوان:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" -msgstr "" +msgstr "تعطيل تشحيذ&" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" -msgstr "" +msgstr "&عرضي" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" -msgstr "" +msgstr "&يمين إلى يسار" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "تعطيل اقتصاص&" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" -msgstr "" +msgstr " ملحقات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 msgid "by" @@ -2030,116 +2099,118 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" -msgstr "" +msgstr "متقدّم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" -msgstr "" +msgstr "عام" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" -msgstr "" +msgstr "الواجهة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" +"محتوى\n" +"خادم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "Plugins" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 -msgid "No valid plugin path" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 -msgid "%s is not a valid plugin path" -msgstr "" +msgstr "الملحقات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +msgid "No valid plugin path" +msgstr "مسار الملحق غير صالح" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 +msgid "%s is not a valid plugin path" +msgstr "%s ليس مسار لملحق صالح" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" -msgstr "" +msgstr "إختيار الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" -msgstr "" +msgstr "لا يمكن تعطيل الملحق" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 -msgid "Plugin not customizable" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 -msgid "Plugin: %s does not need customization" -msgstr "" +msgstr "الملحق: %s لا يمكن تعطيله" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +msgid "Plugin not customizable" +msgstr "لا يمكن تخصيص الملحق" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 +msgid "Plugin: %s does not need customization" +msgstr "الملحق: %s لا يحتاج التخصيص" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" -msgstr "" +msgstr "تخصيص %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" -msgstr "" +msgstr "لم يمكن حذف الملحق المضمن" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 -msgid "Error log:" -msgstr "" +msgstr " لا يمكن حذفه. هذا ملحق مضمن في البرنامج. حاول تعطيله بدلاً من حذفه." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 -msgid "Access log:" -msgstr "" +msgid "Error log:" +msgstr "سجل الأخطاء:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 +msgid "Access log:" +msgstr "سجل النفاذ:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" -msgstr "" +msgstr "فشل في تشغيل خادم المحتوى" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" -msgstr "" +msgstr "حجم غير صالح" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." -msgstr "" +msgstr "<br>يجب أن يكون دليل." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:345 msgid "Configuration" -msgstr "" +msgstr "إعدادات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid "" @@ -2179,7 +2250,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:346 msgid "..." -msgstr "" +msgstr "..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "Show notification when &new version is available" @@ -2193,7 +2264,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Read &metadata from files" -msgstr "" +msgstr "إقرأ ال&ميتاداتا من الملفات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Format for &single file save:" @@ -2211,23 +2282,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid " seconds" -msgstr "" +msgstr " ثانية" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 msgid "Choose &language (requires restart):" -msgstr "" +msgstr "إختر ال&لغة (يحتاج إعادة تشغيل):" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Normal" -msgstr "" +msgstr "عادي" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "High" -msgstr "" +msgstr "مرتفع" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Low" -msgstr "" +msgstr "منخفض" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Job &priority:" @@ -2235,11 +2306,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Add a directory to the frequently used directories list" -msgstr "" +msgstr "إضافة دليلاً إلى قائمة الدلائل المستخدمة كثيراً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Remove a directory from the frequently used directories list" -msgstr "" +msgstr "حذف الدليل من قائمة الدلائل المستخدمة كثيراً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 msgid "Use &Roman numerals for series number" @@ -2259,7 +2330,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" -msgstr "" +msgstr "إرسال الأخبار& التي تم تنزيلها آلياً إلى قارئ الكتب الإلكترونية" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:443 msgid "&Delete news from library when it is sent to reader" @@ -2271,27 +2342,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "Toolbar" -msgstr "" +msgstr "شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "Large" -msgstr "" +msgstr "كبير" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "Medium" -msgstr "" +msgstr "متوسط" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Small" -msgstr "" +msgstr "صغير" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 msgid "&Button size in toolbar" -msgstr "" +msgstr "&حجم الأزرار على شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 msgid "Show &text in toolbar buttons" -msgstr "" +msgstr "إظهار النص& على أزرار شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "Select visible &columns in library view" @@ -2299,7 +2370,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Use internal &viewer for:" -msgstr "" +msgstr "استخدم المستعرض& الداخلي في:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "Free unused diskspace from the database" @@ -2311,7 +2382,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Metadata from file name" -msgstr "" +msgstr "&ميتاداتا من اسم الملف" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "" @@ -2326,15 +2397,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" -msgstr "" +msgstr "&اسم المستخدم:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" -msgstr "" +msgstr "&كلمة السرّ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 msgid "" @@ -2344,9 +2415,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" -msgstr "" +msgstr "إظهار& كلمة السرّ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 msgid "" @@ -2399,27 +2470,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:474 msgid "&Customize plugin" -msgstr "" +msgstr "ت&خصيص الملحق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:475 msgid "&Remove plugin" -msgstr "" +msgstr "&حذف الملحق" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:476 msgid "Add new plugin" -msgstr "" +msgstr "إضافة ملحق جديد" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:477 msgid "Plugin &file:" -msgstr "" +msgstr "&ملف الملحق:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:479 msgid "&Add" -msgstr "" +msgstr "&إضافة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" -msgstr "" +msgstr "هل أنت متأكّد؟" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" @@ -2427,15 +2498,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" -msgstr "" +msgstr "خطأ" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:52 msgid "Bulk convert to " -msgstr "" +msgstr "تحويل جماعي إلى " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:54 msgid "Convert %s to " -msgstr "" +msgstr "حول %s إلى " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:97 @@ -2444,7 +2515,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" -msgstr "" +msgstr "ميتاداتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:72 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:98 @@ -2458,14 +2529,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:299 msgid "Page Setup" -msgstr "" +msgstr "ضبط الصفحة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:300 msgid "Chapter Detection" -msgstr "" +msgstr "كشف الفصول" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:97 msgid "" @@ -2481,7 +2552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:99 msgid "Specify the page layout settings like margins." -msgstr "" +msgstr "تخصيص إعدادات تخطيط الصفحة مثل الهوامش." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:300 @@ -2491,13 +2562,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:167 msgid "Choose cover for " -msgstr "" +msgstr "إختار الغلاف لـ " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 msgid "Cannot read" -msgstr "" +msgstr "لا يمكن القراءة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 @@ -2506,10 +2577,11 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" -msgstr "" +msgstr "خطأ في قراءة الملف" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 @@ -2517,57 +2589,57 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 -msgid "Cannot convert" -msgstr "" +msgstr " ليست صورة صالحة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 -msgid "This book has no available formats" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 +msgid "Cannot convert" +msgstr "لا يمكن تحويله" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 -msgid "No available formats" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 +msgid "This book has no available formats" +msgstr "هذا الكتاب ليس له تهيئات متوفرة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 +msgid "No available formats" +msgstr "لم يتوفر التهيئات" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" -msgstr "" +msgstr "لا يمكن تحويل %s لأن هذا الكتاب ليس له تهيئات مدعومة" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:467 msgid "Convert to EPUB" -msgstr "" +msgstr "تحويل لـEPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:468 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:496 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "Book Cover" -msgstr "" +msgstr "غلاف الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:469 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:497 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Change &cover image:" -msgstr "" +msgstr "تغيير صورة الغلاف&:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:470 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:498 @@ -2578,26 +2650,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:472 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:500 msgid "Use cover from &source file" -msgstr "" +msgstr "استخدم غلاف من المصدر&" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:501 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:330 msgid "&Title: " -msgstr "" +msgstr ":ال&عنوان " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:331 msgid "Change the title of this book" -msgstr "" +msgstr "تغيير عنوان هذا الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:475 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:334 msgid "&Author(s): " -msgstr "" +msgstr "ال&مؤلف: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:476 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:504 @@ -2624,19 +2696,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:343 msgid "&Publisher: " -msgstr "" +msgstr "&الناشر: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:480 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:508 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:137 msgid "Change the publisher of this book" -msgstr "" +msgstr "تغيير ناشر هذا الكتاب" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:481 #: /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:344 msgid "Ta&gs: " -msgstr "" +msgstr "الو&سوم: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:482 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:510 @@ -2646,13 +2718,15 @@ msgid "" "Tags categorize the book. This is particularly useful while searching. " "<br><br>They can be any words or phrases, separated by commas." msgstr "" +"الوسوم تصنّف الكتاب. هذا يفيد كثيراً في البحث. <br><br>ممكن تكون أي كلمة أو " +"مجموعة كلمات، مفرقة بفاصلة." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:483 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:511 #: /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:348 msgid "&Series:" -msgstr "" +msgstr "&سلسلات:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:484 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:485 @@ -2663,7 +2737,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:350 msgid "List of known series. You can add new series." -msgstr "" +msgstr "قائمة السلسلات المعروفة. بإمكانك إضافة سلسلات جديدة." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:486 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:487 @@ -2672,13 +2746,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:353 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:354 msgid "Series index." -msgstr "" +msgstr "فهرس السلسلات." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:488 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:516 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 msgid "Book " -msgstr "" +msgstr "الكتاب " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:490 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:524 @@ -2688,7 +2762,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:491 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:518 msgid "Base &font size:" -msgstr "" +msgstr "حجم الخط& الأساسي:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:492 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:506 @@ -2696,11 +2770,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:510 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:512 msgid " pt" -msgstr "" +msgstr " pt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:493 msgid "Remove &spacing between paragraphs" -msgstr "" +msgstr "حذف الفراغات& بين الفقرات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:494 msgid "Preserve &tag structure when splitting" @@ -2708,15 +2782,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:495 msgid "&Rescale images" -msgstr "" +msgstr "&إعادة تحجيم الصور" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:496 msgid "&Ignore tables" -msgstr "" +msgstr "&تجاهل الجداول" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:497 msgid "&Use author sort to set author field in output" -msgstr "" +msgstr "استخدم& ترتيب المؤلف لضبط حقل المؤلف في الخرج" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:498 msgid "No text &justification" @@ -2728,7 +2802,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:500 msgid "Remove &first image from source file" -msgstr "" +msgstr "حذف الصورة الأو&لى من ملف المصدر" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:501 msgid "Override &CSS" @@ -2745,22 +2819,22 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:505 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:541 msgid "&Left Margin:" -msgstr "" +msgstr "&الهامش الأيسر:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:507 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:543 msgid "&Right Margin:" -msgstr "" +msgstr "&الهامش الأيمن:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:545 msgid "&Top Margin:" -msgstr "" +msgstr "&الهامش الأعلى:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:547 msgid "&Bottom Margin:" -msgstr "" +msgstr "&الهامش الأسفل:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:513 msgid "Do not &split on page breaks" @@ -2790,7 +2864,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:518 msgid "Automatic &chapter detection" -msgstr "" +msgstr "كشف للفصول& آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:519 msgid "" @@ -2806,19 +2880,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:521 msgid "Chapter &mark:" -msgstr "" +msgstr "ع&لامة الفصل:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:522 msgid "Automatic &Table of Contents" -msgstr "" +msgstr "قائمة المحتويات& المنشئة آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:523 msgid "Number of &links to add to Table of Contents" -msgstr "" +msgstr "عدد الوصلات& لإضافتها لقائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:524 msgid "Do not add &detected chapters to the Table of Contents" -msgstr "" +msgstr "لا تضف فصول مك&شوفة إلى قائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:525 msgid "Chapter &threshold" @@ -2826,7 +2900,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:526 msgid "&Force use of auto-generated Table of Contents" -msgstr "" +msgstr "ألزم& استخدام قائمة المحتويات المنشئة آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:527 msgid "Level &1 TOC" @@ -2846,15 +2920,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:38 msgid "Author Sort" -msgstr "" +msgstr "ترتيب المؤلف" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:40 msgid "ISBN" -msgstr "" +msgstr "ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:104 msgid "Cannot connect" -msgstr "" +msgstr "لم يتمكن من الشبك" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:105 msgid "You must specify a valid access key for isbndb.com" @@ -2866,7 +2940,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "No metadata found" -msgstr "" +msgstr "لم يوجد ميتاداتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "" @@ -2910,7 +2984,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs.py:27 msgid "Unavailable" -msgstr "" +msgstr "غير متوفر" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs.py:38 msgid " - Jobs" @@ -2930,7 +3004,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:106 msgid "Convert %s to LRF" -msgstr "" +msgstr "تحول %s إلى LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:360 @@ -2990,21 +3064,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:494 msgid "Convert to LRF" -msgstr "" +msgstr "حول إلى LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:495 msgid "Category" -msgstr "" +msgstr "تصنيف" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:519 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:526 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:528 msgid " pts" -msgstr "" +msgstr " نقاط" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:520 msgid "Embedded Fonts" -msgstr "" +msgstr "الخطوط المضمونة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:521 msgid "&Serif:" @@ -3032,15 +3106,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:530 msgid "Insert &blank lines between paragraphs" -msgstr "" +msgstr "إدخال سطر فارغ& بين الفقرات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:531 msgid "Ignore &tables" -msgstr "" +msgstr "تجاهل ال&جدول" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:532 msgid "Ignore &colors" -msgstr "" +msgstr "تجاهل ال&ألوان" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:533 msgid "&Preprocess:" @@ -3066,7 +3140,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:109 msgid " px" -msgstr "" +msgstr " px" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:538 msgid "Header &separation:" @@ -3086,11 +3160,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:551 msgid "Title based detection" -msgstr "" +msgstr "كشف عن طريق العنوان" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:552 msgid "&Disable chapter detection" -msgstr "" +msgstr "تعطيل& كشف الفصول" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:553 msgid "&Regular expression:" @@ -3098,15 +3172,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:554 msgid "Add &chapters to table of contents" -msgstr "" +msgstr "إضافة فصول& إلى قائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:555 msgid "Don't add &links to the table of contents" -msgstr "" +msgstr "لا تضف وصلات& إلى قائمة المحتويات" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:556 msgid "Tag based detection" -msgstr "" +msgstr "كشف حسب الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:557 msgid "&Page break before tag:" @@ -3137,15 +3211,25 @@ msgid "" "margin-left:0px; margin-right:0px; -qt-block-indent:0; text-" "indent:0px;\"></p></body></html>" msgstr "" +"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" " +"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" +"<html><head><meta name=\"qrichtext\" content=\"1\" /><style " +"type=\"text/css\">\n" +"p, li { white-space: pre-wrap; }\n" +"</style></head><body style=\" font-family:'DejaVu Sans'; font-size:10pt; " +"font-weight:400; font-style:normal;\">\n" +"<p style=\"-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>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:126 msgid "Edit Meta information" -msgstr "" +msgstr "تحرير معلومات الميتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:329 msgid "Meta information" -msgstr "" +msgstr "معلومات الميتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:335 @@ -3174,7 +3258,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:342 msgid " stars" -msgstr "" +msgstr " نجمة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:138 msgid "Add Ta&gs: " @@ -3185,23 +3269,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:346 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:347 msgid "Open Tag Editor" -msgstr "" +msgstr "فتح محرر الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:142 msgid "&Remove tags:" -msgstr "" +msgstr "حذف& الوسوم:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:143 msgid "Comma separated list of tags to remove from the books. " -msgstr "" +msgstr "قائمة من الوسوم مفرقة بالفاصلة لحذفها من الكتب. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 msgid "Remove &format:" -msgstr "" +msgstr "حذف الت&هيئة:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148 msgid "A&utomatically set author sort" -msgstr "" +msgstr "ضبط& ترتيب المؤلف آلياً" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:117 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 @@ -3236,25 +3320,30 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:328 msgid "Edit Meta Information" -msgstr "" +msgstr "تحرير معلومات الميتا" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:332 msgid "Swap the author and title" @@ -3263,15 +3352,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:337 msgid "" "Automatically create the author sort entry based on the current author entry" -msgstr "" +msgstr "ينشئ مدخل ترتيب المؤلف حسب مدخل المؤلف الحالي" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:351 msgid "Remove unused series (Series that have no books)" -msgstr "" +msgstr "حذف سلسلات غير مستخدمة (سلسلات التي لا تحتوي على كتب)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 msgid "IS&BN:" -msgstr "" +msgstr "IS&BN:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 msgid "Fetch metadata from server" @@ -3279,7 +3368,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 msgid "Available Formats" -msgstr "" +msgstr "التهيئات المتوفرة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Add a new format for this book to the database" @@ -3287,7 +3376,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "Remove the selected formats for this book from the database." -msgstr "" +msgstr "حذف التهيئات المختارة لهذا الكتاب من قاعدة البيانات." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Set the cover for the book from the selected format" @@ -3320,22 +3409,22 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:40 msgid "You" -msgstr "" +msgstr "أنت" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:138 msgid "Custom" -msgstr "" +msgstr "مخصّص" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:136 msgid "Scheduled" -msgstr "" +msgstr "تم جدولته" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" -msgstr "" +msgstr "بحث" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:308 msgid "%d recipes" @@ -3343,35 +3432,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Monday" -msgstr "" +msgstr "الأثنين" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Tuesday" -msgstr "" +msgstr "الثلاثاء" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Wednesday" -msgstr "" +msgstr "الأربعاء" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "day" -msgstr "" +msgstr "اليوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Friday" -msgstr "" +msgstr "الجمعة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Saturday" -msgstr "" +msgstr "السبت" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Sunday" -msgstr "" +msgstr "الأحد" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Thursday" -msgstr "" +msgstr "الخميس" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:343 msgid "Must set account information" @@ -3381,115 +3470,108 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " -msgstr "" +msgstr "أنشأه: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" -msgstr "" +msgstr "آخر تنزيل" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" -msgstr "" +msgstr "آخر تنزيل: لم ينزّل من قبل" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" -msgstr "" +msgstr "جدولة تنزيل الأخبار" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" -msgstr "" +msgstr "الأخبار" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" +msgstr "جدولة للتنزيل" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +msgid "&Schedule for download:" +msgstr "ج&دولة للتنزيل:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 +msgid "Every " +msgstr "كل " + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" +msgid "at" +msgstr "في" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 -msgid "&Schedule for download:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 -msgid "Every " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 -msgid "at" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" -msgstr "" +msgstr " يوم" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" -msgstr "" +msgstr "&حساب" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" -msgstr "" +msgstr "&تنزيل الآن" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" +"حذف الأخبار المنزّلة التي أقدم من العدد المخصص من الأيام. اضبطه بـ0 لتعطيله." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " -msgstr "" +msgstr "حذف أخبار أقدم من " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:96 msgid "Form" -msgstr "" +msgstr "استمارة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" -msgstr "" +msgstr "يحتوي على" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." @@ -3507,7 +3589,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:88 msgid "Advanced Search" -msgstr "" +msgstr "بحث متقدم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:89 msgid "Find entries that have..." @@ -3541,43 +3623,47 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" -msgstr "" +msgstr "محرر الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" -msgstr "" +msgstr "الوسوم المت&وفرة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" +"حذف الوسم من قائمة البيانات. هذا سيحذف الوسم من الكتب وثم سيحذف الوسم تماماً " +"من القاعدة." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" -msgstr "" +msgstr "علّم الكتاب الحالي بالوسم" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" -msgstr "" +msgstr "الوسوم الم&علّمة" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" -msgstr "" +msgstr "حذف الوسم من الكتاب الحالي" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" -msgstr "" +msgstr "إض&افة وسم:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." msgstr "" +"إذا الوسم الذي تريده ليس متوفر، بإمكانك إضافته هنا. يقبل قائمة من الوسوم " +"مفرّقة بفاصلات." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" -msgstr "" +msgstr "إضافة وسم إلى قائمة الوسوم المتوفرة وعلّم الكتاب الحالي به" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:62 msgid "No recipe selected" @@ -3630,7 +3716,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 msgid "Invalid input" -msgstr "" +msgstr "دخل غير صالح" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:172 @@ -3789,19 +3875,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:105 msgid "&Test" -msgstr "" +msgstr "&تجربة" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 msgid "File &name:" -msgstr "" +msgstr "اسم ال&ملف:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 msgid "Test" -msgstr "" +msgstr "تجربة" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:108 msgid "Title:" -msgstr "" +msgstr ":العنوان" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:109 msgid "Regular expression (?P<title>)" @@ -3822,7 +3908,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111 msgid "Authors:" -msgstr "" +msgstr "المؤلفون:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "Regular expression (?P<authors>)" @@ -3830,7 +3916,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 msgid "Series:" -msgstr "" +msgstr "السلسلة:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "Regular expression (?P<series>)" @@ -3838,15 +3924,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Series index:" -msgstr "" +msgstr "فهرس السلسلة:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 msgid "Regular expression (?P<series_index>)" -msgstr "" +msgstr "Regular expression (?P<series_index>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 msgid "ISBN:" -msgstr "" +msgstr "ISBN:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 msgid "Regular expression (?P<isbn>)" @@ -3858,7 +3944,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:47 msgid "Status" -msgstr "" +msgstr "الحالة" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:48 msgid "Progress" @@ -3874,11 +3960,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:70 msgid "Finished" -msgstr "" +msgstr "انتهى" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:72 msgid "Error" -msgstr "" +msgstr "خطأ" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:74 msgid "Waiting" @@ -3909,7 +3995,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:969 msgid "Date" -msgstr "" +msgstr "تاريخ" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 msgid "Rating" @@ -3937,7 +4023,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 msgid "Format" -msgstr "" +msgstr "التهيئة" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003 msgid "Search (For Advanced Search click the button to the left)" @@ -3961,20 +4047,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:64 msgid " - LRF Viewer" -msgstr "" +msgstr " - مستعرض LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 msgid "LRF Viewer" -msgstr "" +msgstr "مستعرض LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 msgid "Parsing LRF file" @@ -3986,11 +4072,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 msgid "Next Page" -msgstr "" +msgstr "الصفحة التالية" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 msgid "Previous Page" -msgstr "" +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:154 @@ -4009,7 +4095,7 @@ 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:162 msgid "Open ebook" -msgstr "" +msgstr "فتح الكتب الإلكترونية" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" @@ -4025,11 +4111,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" -msgstr "" +msgstr "تبرع& لدعم كاليبر" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" -msgstr "" +msgstr "إعادة تشغيل&" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" @@ -4062,15 +4148,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Edit metadata individually" -msgstr "" +msgstr "تحرير الميتاداتا فردياً" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Edit metadata in bulk" -msgstr "" +msgstr "تحرير الميتاداتا جملةً" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 msgid "Add books from a single directory" -msgstr "" +msgstr "إضافة كتب من دليل واحد" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:178 msgid "" @@ -4087,11 +4173,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:358 msgid "Save to disk" -msgstr "" +msgstr "حفظ إلى القرص" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:195 msgid "Save to disk in a single directory" -msgstr "" +msgstr "حفظ إلى القرص في دليل واحد" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1261 @@ -4101,11 +4187,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:364 msgid "View" -msgstr "" +msgstr "عرض" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:200 msgid "View specific format" -msgstr "" +msgstr "عرض تهيئة معينة" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Convert individually" @@ -4121,7 +4207,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:221 msgid "Set defaults for conversion of comics" -msgstr "" +msgstr "ضبط الإفتراضي في تحويل الرسومات" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:243 msgid "Similar books..." @@ -4142,15 +4228,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:538 msgid "Device: " -msgstr "" +msgstr "الجهاز: " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:539 msgid " detected." -msgstr "" +msgstr " تم كشفه." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:561 msgid "Connected " -msgstr "" +msgstr "متصل " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 msgid "Device database corrupted" @@ -4179,43 +4265,43 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Books" -msgstr "" +msgstr "كتب" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:673 msgid "EPUB Books" -msgstr "" +msgstr "كتب EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 msgid "LRF Books" -msgstr "" +msgstr "كتب LRF" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 msgid "HTML Books" -msgstr "" +msgstr "كتب HTML" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 msgid "LIT Books" -msgstr "" +msgstr "كتب LIT" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 msgid "MOBI Books" -msgstr "" +msgstr "كتب MOBI" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 msgid "Text books" -msgstr "" +msgstr "كتب نصّية" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 msgid "PDF Books" -msgstr "" +msgstr "كتب PDF" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 msgid "Comics" -msgstr "" +msgstr "الرسومات" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 msgid "Archives" -msgstr "" +msgstr "أرشيفات" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:702 msgid "Adding books..." @@ -4234,7 +4320,7 @@ msgstr "" msgid "" "The selected books will be <b>permanently deleted</b> and the files removed " "from your computer. Are you sure?" -msgstr "" +msgstr "الكتب المختارة <b>سوف تحذف تماماً</b> من حاسوبك. هل أنت متأكّد؟" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 msgid "Deleting books from device." @@ -4243,7 +4329,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 msgid "Cannot edit metadata" -msgstr "" +msgstr "لا يمكن تحرير الميتاداتا" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 @@ -4284,11 +4370,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:984 msgid "Saved" -msgstr "" +msgstr "تم الحفظ" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:990 msgid "Choose destination directory" -msgstr "" +msgstr "إختيار دليل الوجهة" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1004 msgid "" @@ -4351,7 +4437,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1282 msgid "Invalid database" -msgstr "" +msgstr "قاعدة البيانات غير صالحة" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1283 msgid "" @@ -4373,7 +4459,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 msgid "Error talking to device" -msgstr "" +msgstr "خطأ في الاتصال بالجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" @@ -4385,7 +4471,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1385 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1389 msgid "Conversion Error" -msgstr "" +msgstr "خطأ في التحويل" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1371 msgid "" @@ -4393,69 +4479,77 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" -msgstr "" +msgstr "تحديث متوفر" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:333 msgid "calibre" -msgstr "" +msgstr "كاليبر" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:335 msgid "Output:" -msgstr "" +msgstr "خرج:" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:336 msgid "" @@ -4465,15 +4559,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:337 msgid "Advanced search" -msgstr "" +msgstr "بحث متقدّم" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:339 msgid "Alt+S" -msgstr "" +msgstr "Alt+S" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:340 msgid "&Search:" -msgstr "" +msgstr "&بحث:" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:341 msgid "" @@ -4501,60 +4595,60 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:349 msgid "Sort by &popularity" -msgstr "" +msgstr "ترتيب حسب الش&هرة" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:350 msgid "Add books" -msgstr "" +msgstr "إضافة كتب" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:351 msgid "A" -msgstr "" +msgstr "A" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:352 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Remove books" -msgstr "" +msgstr "حذف كتب" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:354 msgid "Del" -msgstr "" +msgstr "Del" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:355 msgid "Edit meta information" -msgstr "" +msgstr "تحرير معلومات الميتا" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:356 msgid "E" -msgstr "" +msgstr "E" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:357 msgid "Send to device" -msgstr "" +msgstr "إرسال لجهاز" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "S" -msgstr "" +msgstr "S" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:360 msgid "Fetch news" -msgstr "" +msgstr "احصل على الأخبار" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:361 msgid "F" -msgstr "" +msgstr "F" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:362 msgid "Convert E-books" -msgstr "" +msgstr "تحويل الكتاب الإلكتروني" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:363 msgid "C" -msgstr "" +msgstr "C" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:365 msgid "V" -msgstr "" +msgstr "V" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:366 msgid "Open containing folder" @@ -4578,7 +4672,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:371 msgid "Books with the same tags" -msgstr "" +msgstr "كتب بنفس الوسوم" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:372 msgid "Send specific format to device" @@ -4630,21 +4724,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Authors" -msgstr "" +msgstr "المؤلفون" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Publishers" -msgstr "" +msgstr "الناشرون" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:117 msgid "Convert book: " -msgstr "" +msgstr "Convert book: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:151 msgid "Convert comic: " -msgstr "" +msgstr "تحويل رسومات: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:267 @@ -4673,11 +4767,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:372 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:387 msgid "Fetch news from " -msgstr "" +msgstr "احصل على الأخبار من " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:384 msgid "You must set a username and password for %s" -msgstr "" +msgstr "يجب أن تضبط اسم المستخدم وكلمة السرّ لـ %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:101 msgid "Configure Ebook viewer" @@ -4685,7 +4779,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:102 msgid "&Font options" -msgstr "" +msgstr "&خيارات الخط" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:103 msgid "Se&rif family:" @@ -4740,7 +4834,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "Font options" -msgstr "" +msgstr "خيارات الخط" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The serif font family" @@ -4770,75 +4864,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" -msgstr "" +msgstr "/مجهول" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" -msgstr "" +msgstr "إختيار الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" -msgstr "" +msgstr "كتب إلكترونية" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." -msgstr "" +msgstr "يتم تحميل الكتاب الإلكتروني..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" -msgstr "" +msgstr "لم يتمكن من فتح الكتاب الإلكتروني" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" -msgstr "" +msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -4847,27 +4941,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" -msgstr "" +msgstr "مستعرض الكتب الإلكترونية" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" -msgstr "" +msgstr "شريط الأدوات" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" -msgstr "" +msgstr "الصفحة التالية" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" -msgstr "" +msgstr "الصفحة السابقة" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" -msgstr "" +msgstr "تكبير حجم الخط" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" -msgstr "" +msgstr "تصغير حجم الخط" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" @@ -4879,7 +4973,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" -msgstr "" +msgstr "التفضيلات" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" @@ -4990,10 +5084,13 @@ msgid "" "Available fields: %s\n" "Default: %%default" msgstr "" +"الحقل الذي به يتم ترتيب النتائج.\n" +"الحقول المتوفرة: %s\n" +"الإفتراضي: %%default" #: /home/kovid/work/calibre/src/calibre/library/cli.py:199 msgid "Sort results in ascending order" -msgstr "" +msgstr "ترتيب الترتيب بترتيب تصاعدي" #: /home/kovid/work/calibre/src/calibre/library/cli.py:201 msgid "" @@ -5010,7 +5107,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:204 msgid "The string used to separate fields. Default is a space." -msgstr "" +msgstr "السلسلة التي تستخدم لتفريق الحقول. الإفتراضي يستخدم الفراغ." #: /home/kovid/work/calibre/src/calibre/library/cli.py:205 msgid "" @@ -5026,11 +5123,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:216 msgid "Invalid fields. Available fields:" -msgstr "" +msgstr "الحقول غير صالحة. الحقول المتوفرة:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:223 msgid "Invalid sort field. Available fields:" -msgstr "" +msgstr "حقل الترتيب غير صالح. الحقول المتوفرة:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:289 msgid "" @@ -5078,7 +5175,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:361 msgid "You must specify at least one book to remove" -msgstr "" +msgstr "يجب أن تخصص على الأقل كتاباً واحداً للحذف" #: /home/kovid/work/calibre/src/calibre/library/cli.py:381 msgid "" @@ -5189,20 +5286,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5210,7 +5307,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5231,7 +5328,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config.py:81 msgid "Created by " -msgstr "" +msgstr "أنشأه " #: /home/kovid/work/calibre/src/calibre/utils/config.py:536 msgid "Path to the database in which books are stored" @@ -5251,7 +5348,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config.py:544 msgid "Path to directory in which your library of books is stored" -msgstr "" +msgstr "المسار إلى الدليل الذي تحفظ فيها مكتبة كتبك" #: /home/kovid/work/calibre/src/calibre/utils/config.py:546 msgid "The language in which to display the user interface" @@ -5292,12 +5389,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:83 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:105 msgid "Unknown feed" -msgstr "" +msgstr "تلقيم مجهول" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:123 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:145 msgid "Untitled article" -msgstr "" +msgstr "مقالة بدون عنوان" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:15 msgid "Options to control the fetching of periodical content from the web." @@ -5454,20 +5551,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:563 msgid "Download finished" -msgstr "" +msgstr "تم التنزيل" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:565 msgid "Failed to download the following articles:" -msgstr "" +msgstr "فشل تنزيل المقالات التالية:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:567 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:573 msgid " from " -msgstr "" +msgstr " من " #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:571 msgid "Failed to download parts of the following articles:" -msgstr "" +msgstr "فشل تنزيل أجزاء من المقالات التالية:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:575 msgid "\tFailed links:" @@ -5483,7 +5580,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:694 msgid "Trying to download cover..." -msgstr "" +msgstr "محاولة تنزيل الغلاف..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:747 msgid "Starting download [%d thread(s)]..." @@ -5491,19 +5588,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:763 msgid "Feeds downloaded to %s" -msgstr "" +msgstr "تم تنزيل التلقيم إلى %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:773 msgid "Could not download cover: %s" -msgstr "" +msgstr "لم يتمكّن من تنزيل الغلاف: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:780 msgid "Downloading cover from %s" -msgstr "" +msgstr "يتم تنزيل الغلاف من %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:913 msgid "Untitled Article" -msgstr "مقال بلا عنوان" +msgstr "مقالة بدون عنوان" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 msgid "" @@ -5511,18 +5608,21 @@ msgid "" "Downloaded article %s from %s\n" "%s" msgstr "" +"\n" +"تم تنزيل مقالة %s من %s\n" +"%s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:974 msgid "Article downloaded: %s" -msgstr "" +msgstr "المقالة منزّلة: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:980 msgid "Failed to download article: %s from %s\n" -msgstr "" +msgstr "فشل تنزيل المقالة: %s من %s\n" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:985 msgid "Article download failed: %s" -msgstr "" +msgstr "فشل تنزيل المقالة: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:78 @@ -5536,6 +5636,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5551,7 +5652,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_laprensa.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pagina12.py:25 msgid "Spanish" -msgstr "" +msgstr "الإسباني" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_amspec.py:14 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ap.py:11 @@ -5566,9 +5667,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5584,7 +5687,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5595,11 +5698,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5628,6 +5733,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5635,20 +5741,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_xkcd.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zdnet.py:17 msgid "English" -msgstr "" +msgstr "الإنغليزي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_b92.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_blic.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5657,25 +5764,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:26 msgid "Serbian" -msgstr "" +msgstr "الصربي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_courrierinternational.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" -msgstr "" +msgstr "الفرنسي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_de_standaard.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_demorgen_be.py:16 msgid "Dutch" -msgstr "" +msgstr "الهولندي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_estadao.py:62 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jb_online.py:47 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_o_globo.py:69 msgid "Portugese" -msgstr "" +msgstr "البرتغالي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_faznet.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ftd.py:18 @@ -5686,19 +5794,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware_de.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zeitde.py:15 msgid "German" -msgstr "" +msgstr "ألماني" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:12 msgid "Kovid Goyal" -msgstr "" +msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:22 msgid "Croatian" -msgstr "" +msgstr "كرواتي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_la_republica.py:6 msgid "Italian" -msgstr "" +msgstr "إيطالي" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:83 msgid "Skipping duplicated article: %s" @@ -5734,3 +5842,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:477 msgid "Show detailed output information. Useful for debugging" msgstr "" + +#~ msgid "title" +#~ msgstr "العنوان" + +#~ msgid "description" +#~ msgstr "الوصف" + +#~ msgid "author" +#~ msgstr "المؤلف" diff --git a/src/calibre/translations/bg.po b/src/calibre/translations/bg.po index 40f187241f..d14155f3ef 100644 --- a/src/calibre/translations/bg.po +++ b/src/calibre/translations/bg.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-05-24 06:23+0000\n" "Last-Translator: Kovid Goyal <Unknown>\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: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -386,8 +386,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -470,7 +470,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,14 +481,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -507,88 +507,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -604,27 +604,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -932,120 +932,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1087,95 +1093,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1220,26 +1226,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1538,11 +1544,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1575,11 +1581,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1933,7 +1939,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1970,56 +1976,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2050,89 +2060,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2326,13 +2336,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2344,7 +2354,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2506,6 +2516,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2517,39 +2528,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3236,19 +3247,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3333,7 +3349,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3381,104 +3397,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3968,7 +3976,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4393,59 +4401,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4770,75 +4786,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5189,20 +5205,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5210,7 +5226,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5536,6 +5552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5566,9 +5583,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5584,7 +5603,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5595,11 +5614,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5628,6 +5649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5635,6 +5657,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5648,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5663,6 +5686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 83d0918edd..7c378678af 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-05-24 06:21+0000\n" "Last-Translator: Kovid Goyal <Unknown>\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: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,15 +28,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -62,7 +62,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -73,8 +73,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -89,16 +89,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Desconegut" @@ -221,17 +221,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -389,8 +389,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -473,7 +473,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -484,14 +484,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -510,88 +510,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -607,27 +607,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -978,120 +978,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1133,95 +1139,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1266,26 +1272,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1584,11 +1590,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1621,11 +1627,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1979,7 +1985,7 @@ msgid "Formats" msgstr "Formats" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2016,56 +2022,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Perfil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2096,89 +2106,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Ubicació de la base de dades no vàlida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Cal que siga un directori." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Ubicació de la base de dades no vàlida " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Ubicació de la base de dades no vàlida.<br>No es pot escriure " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2372,13 +2382,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Nom d'&usuari:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Contrasenya:" @@ -2390,7 +2400,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2552,6 +2562,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2563,39 +2574,39 @@ msgstr "Error llegint l'arxiu" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Error llegint de l'arxiu: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " no és una imatge vàlida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "No puc convertir-lo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Formats no disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "No puc convetir \"%s\" perquè el format no hi és suportat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3298,19 +3309,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>No puc aconseguir la coberta.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "No puc aconseguir la coberta" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "No puc aconseguir la coberta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>No puc aconseguir la coberta.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Cal especificar un ISBN correcte per al llibre." @@ -3396,7 +3412,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3444,104 +3460,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4031,7 +4039,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>No</b> s'han trobat coincidències per al text \"<i>%s</i>\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "No s'han trobat coincidències" @@ -4458,59 +4466,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4839,75 +4855,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5258,20 +5274,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5279,7 +5295,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5605,6 +5621,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5635,9 +5652,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5653,7 +5672,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5664,11 +5683,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5697,6 +5718,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5704,6 +5726,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5717,7 +5740,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5732,6 +5755,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -5862,6 +5886,9 @@ msgstr "" #~ msgid "Help on item" #~ msgstr "Ajuda amb l'í­tem" +#~ msgid "Could not fetch cover" +#~ msgstr "No puc aconseguir la coberta" + #~ msgid "<b>Changes will only take affect after a restart." #~ msgstr "<b>Els canvis s'ignoren fins que el re-inicieu." diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 68a8936f5a..a588ddbc05 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-04 20:00+0000\n" -"Last-Translator: Plazec <Unknown>\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 12:54+0000\n" +"Last-Translator: raduz <raduzator@gmail.com>\n" "Language-Team: Czech <cs@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Neznámý" @@ -226,17 +226,17 @@ msgstr "Deaktivovat modul podle jména" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Do čtecího zařízení není vložena žádná paměťová karta." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Na paměťové kartě není dostatek volného místa" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "V hlavní paměti není dostatek volného místa" @@ -439,12 +439,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Pokud má zdrojový soubor obsah, je mu normálně dána přednost před " -"automaticky vygenerovaným. Je-li zapnuta tato volba, je vždy použit " -"automaticky generovaný obsah." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -542,7 +539,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -559,14 +556,14 @@ msgstr "" "Pokud je místo HTML souboru specifikován OPF soubor, je převzat seznam \n" "odkazů z elementu <spine> v OPF souboru. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Výstup zapsán do " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Musíte specifikovat vstupní HTML soubor." @@ -588,36 +585,36 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Zpracované HTML bylo zapsano do " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 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:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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 "" -"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." +"Výstup je uložen do ZIP souboru. Pokud je zvolena tato volba, položka --" +"output by měla obsahovat název souboru, nikoliv adresáře." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -625,7 +622,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -634,39 +631,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Nastavit metadata pro generovanou knihu." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 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:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "Autor(ři) knihy, oddělení ampersandy (&)." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Zadat vydavatele této knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Shrnutí této knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 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:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Nastavení užitečná pro odlaďování." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -674,11 +671,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -701,27 +698,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Vytvářím LIT soubor z EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LIT_soubor" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Výstupní adresář. Standardně je použit aktuální adresář." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "Čitelně formátovat extrahované HTML. Může ovlyvnit mezery v textu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Užitečné pro ladění programu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB kniha vytvořena v" @@ -1115,15 +1112,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Nebyl specifikován žádný vstupní soubor pro převod." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Úspešný převod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Neuspěl převod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1133,24 +1130,24 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "Možnosti převodu komiksů (CBR, CBZ) do elektronických knih" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Název vytvořené elektronické knihy. Standardně se použije název souboru." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Autor, který bude uvedený v metadatech vytvořené elektronické knihy. " "Standardní hodnota je %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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1158,33 +1155,39 @@ msgstr "" "Cesta k výstupnímu souboru. Standardně bude výstupní soubor vytvořen v " "aktuálním pracovním adresáři." -#: /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 "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Počet odstínů šedé barvy použitý při převodu obrázků. Standardní hodnota: " "%default" -#: /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 normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Vypnutí normalizace (vylepšení kontrastu) rozsahu barev obrázku. Standardně " "je normalizace zapnutá." -#: /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 "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" "Zachovat poměr stran obrázků. Standardně obrazky vyplní celou obrazovku." -#: /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 "Disable sharpening." msgstr "Vypnout zvyšování ostrosti obrázků." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" msgstr "Nerozdělovat obrázky \"na šířku\" na dva obrázky \"na výsku\"" -#: /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:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1192,7 +1195,7 @@ msgstr "" "Zachovat poměr stran a přizpůsobit šířku obrázku výšce obrazovky pro " "prohlížení \"na šířku\"" -#: /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:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1200,7 +1203,7 @@ msgstr "" "Pužívané pro publikace čtené zleva doprava, jako např. manga. Obrázky \"na " "šířku\" budou rozdělené na obrázky \"na výšku\" v pořadí zprava doleva." -#: /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:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1208,7 +1211,7 @@ msgstr "" "Zapnout filtr šumu. Odstraňuje šum v oblastech plynulých přechodů. Může " "výrazně prodloužit čas na zpracování." -#: /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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1216,7 +1219,7 @@ msgstr "" "Neřadit soubory komiksu abecedně. Použít pořadí v kterém byli přidané do " "komiksu." -#: /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:321 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 " @@ -1227,7 +1230,7 @@ msgstr "" "je vhodný pro jakékoliv čtecí zařízení se stejným rozlišením obrazovky. " "Možnosti jsou %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1236,15 +1239,15 @@ msgstr "" "Zvýšit množství zobrazovaných údajů, užitečné pro hledání chyb v programu. " "Při vícenásobném použití se množství zobrazovaných údajů zvyšuje." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Nezobrazovat indikátor postupu zpracování." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Obrázek nijak neupravovat" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1254,11 +1257,11 @@ msgstr "" "\n" "Převést komiks ve formátu CBZ nebo CBR do elektronické knihy. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Výstup zapsán do" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Zpracovávám stránky komiksu..." @@ -1308,57 +1311,57 @@ msgstr "Možnosti ovládající chování programu html2lrf" msgid "Fetching of recipe failed: " msgstr "Stažení receptu selhalo: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tByl rozeznán soubor z programu Book Designer." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tZpracovávám HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" "\tByl rozpoznán soubor z vydavatelství BAEN. Restartuji zpracování..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Předzpracovaný HTML soubor byl zapsán do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Zpracovávám %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tPřevádím do BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Selhalo zpracování souboru: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s je prázdný soubor" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "Selhalo zpracování odkazu %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "Nepodařilo se přidat odkaz %s do obsahu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Selhalo zpracování obrázku %s. Chyba: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "Selhalo zpracování prokládaného PNG obrázku: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1366,12 +1369,12 @@ msgstr "" "Selhalo zpracování obrázku: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "Chyba při zpracování tabulky: %s. Ignoruji blok tabulky." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1379,11 +1382,11 @@ msgstr "" "Nesprávná definice tabulky:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "Tabulka obsahuje buňku, která je příliš velká" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1391,19 +1394,19 @@ msgstr "" "Webovou stránku %s je potřeba nejdříve uložit jako HTML soubor a poté " "převést programem html2lrf." -#: /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:1869 msgid "Could not read cover image: %s" msgstr "Nepodařilo se načíst obrázek obálky: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Nedaří se číst z: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Selhalo zpracování OPF souboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1462,11 +1465,11 @@ msgstr "Vytvářím XML..." msgid "LRS written to " msgstr "LRS zapsán do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Nrpodařilo se načíst náhled." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1474,16 +1477,16 @@ msgstr "" "%prog [možnosti] soubor.lrs\n" "Převod LRS souboru do formátu LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Cesta k výstupnímu souboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Zvýšit množství vypisovaných informací" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Převést LRS na LRS, užitečné při hledání chyb v programu." @@ -1830,11 +1833,11 @@ msgstr "" "\n" "Převzít obálku knihy identifikované uvedeným kódém ISBN z LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Použití: %s soubor.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Obálka uložena do" @@ -1867,11 +1870,11 @@ msgstr "Použití: rb-meta soubor.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Vytvářím Mobipocket soubor z EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [možnosti] kniha.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Nezpracované MOBI HTML uložené do" @@ -2246,7 +2249,7 @@ msgid "Formats" msgstr "Formáty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2283,56 +2286,60 @@ msgstr "Výchozí nastavení převodu komiksů (CBR/CBZ souborů)" msgid "Set options for converting %s" msgstr "Mo6nosti převodu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Název:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(ři):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Počet &barev" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Vypnout &normalizaci" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachov&at poměr stran" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Vypnout zao&střování" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Na šíř&ku" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Netřídit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Zp&rava doleva" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Čistíci &filtr" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Širo&ké" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " moduly" @@ -2365,91 +2372,91 @@ msgstr "" msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Chybí platná cesta k modulům" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "%s není platná cesta k modulům" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Zvolte modul" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Modul není možné deaktivovat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "Modul %s nemůže být deaktivován" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Modul není upravitelný" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Modul %s nevyžaduje žádné úpravy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Upravit %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Vestavěný modul není možné odstranit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " nemůže být odstraněn. Je to vestavěbý modul. Skuste ho místo odstranění " "deaktivovat." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Záznam o přístupu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Nepodařilo se spustit obdahový server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Neplatná velikost" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "Velikost %s je neplatná. Požadovaný formát je šířka x výška" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Neplatné umístění databáze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Musí být adresář." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Neplatné umístění databáze " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Neplatné umístění databáze. <br> Nemůžu zapsat do " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "Zkompaktňuji databázi. Tento proces může chvíli trvat." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Zkompaktňuji..." @@ -2650,13 +2657,13 @@ msgstr "&Port serveru:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "&Uživatelské jméno:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Heslo:" @@ -2670,7 +2677,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "Zobrazit he&slo" @@ -2840,6 +2847,7 @@ msgid "You do not have permission to read the file: " msgstr "Nemáte přístupová práva na čtení souboru: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2851,39 +2859,39 @@ msgstr "Chyba při čtení souboru" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Chyba při čtení souboru: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " není platný obrazový soubor" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Nemůžu převást" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Tato kniha není k dispozici v žádném formátu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Žadný formát není k dispozici" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Vyberte formát pro převod " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Neplatný výraz XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "Výraz %s je neplatný. Chyba: %s" @@ -3574,19 +3582,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3671,7 +3684,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3719,104 +3732,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4306,7 +4311,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4731,59 +4736,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Aktualizace dostupná" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -5108,75 +5121,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5527,20 +5540,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5548,7 +5561,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5874,6 +5887,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5904,9 +5918,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5922,7 +5938,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5933,11 +5949,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5966,6 +5984,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5973,6 +5992,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5986,7 +6006,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6001,6 +6021,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -6102,6 +6123,15 @@ msgstr "" #~ "Pokud je detekováno méně kapitol než je tato hodnota, budou odkazy přidány " #~ "do obsahu." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Pokud má zdrojový soubor obsah, je mu normálně dána přednost před " +#~ "automaticky vygenerovaným. Je-li zapnuta tato volba, je vždy použit " +#~ "automaticky generovaný obsah." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 26c9c7dac5..cf58f7d09b 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-02-26 22:21+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 22:35+0000\n" "Last-Translator: S. Dorscht <Unknown>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -26,15 +26,15 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -60,7 +60,7 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -71,8 +71,8 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -87,16 +87,16 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Unbekannt" @@ -232,17 +232,17 @@ msgstr "Gewähltes Plugin ausschalten" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Im Reader ist keine Speicherkarte eingesteckt." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Nicht genügend freier Spreicherplatz im Hauptspeicher" @@ -465,12 +465,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normalerweise wird, falls die Ursprungsdatei schon ein Inhaltsverzeichnis " -"enthält, dieses anstelle des automatisch erkannten verwendet. Mit dieser " -"Option wird immer das automatisch erkannte Inhaltsverzeichnis verwendet." +"Normalerweise wird - soweit vorhanden - das Inhaltsverzeichnis der " +"Ursprungsdatei verwendet anstatt des automatisch erstellten. Mit dieser " +"Einstellung wird immer das automatisch erstellte verwendet." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -575,7 +575,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -593,14 +593,14 @@ msgstr "" "Verknüpfungen aus dem\n" "<spine> Element der OPF Datei verwendet. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Ausgabe geschrieben nach " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Geben Sie eine Eingabedatei im HTML Format an." @@ -623,26 +623,26 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Verarbeitetes HTML wurde geschrieben in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 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:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -650,11 +650,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -662,7 +662,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -671,39 +671,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 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:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 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:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "Autor(en) des eBooks, als eine durch & getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Geben Sie den Herausgeber dieses Buches an." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Inhaltsübersicht dieses Buches." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 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:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Hilfreiche Einstellungen zur Fehlersuche" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -711,13 +711,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -742,29 +742,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Erstelle LIT Datei aus EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist aktuelles Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Lesbares Format der extrahierten Textauszeichnung. Könnte sinnvolle " "Freiräume abändern." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Hilfreich bei der Fehlersuche." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB eBook erstellt in" @@ -1163,15 +1163,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Keine Datei zur Konvertierung angegeben." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "%s gerendert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "%s schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1181,26 +1181,26 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1208,34 +1208,42 @@ msgstr "" "Pfad zur Ausgabedatei. Die Datei wird im aktuellen Verzeichnis erstellt " "(Voreinstellung)." -#: /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 "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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" +"Beschneiden von Comic-Seiten ausschalten. Bei einigen Comics könnte sonst " +"neben dem Rahmen auch Inhalt entfernt werden." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1243,7 +1251,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1251,7 +1259,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1259,7 +1267,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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1268,7 +1276,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1279,7 +1287,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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1288,15 +1296,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Fortschrittsbalken nicht anzeigen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Auf das Bild keine Verarbeitung anwenden" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1306,11 +1314,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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Ausgabe gespeichert unter" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Rendere Seiten des Comics..." @@ -1360,56 +1368,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer Datei erkannt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalysiere HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen Datei erkannt. Analysiere erneut..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Vorverarbeitetes HTML gespeichert unter " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Verarbeite %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tKonvertiere in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Konnte Datei nicht analysieren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s ist eine leere Datei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1417,14 +1425,14 @@ msgstr "" "Konnte Bild nicht verarbeiten: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1432,11 +1440,11 @@ msgstr "" "Schlechte Tabelle:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1444,19 +1452,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Lesen nicht möglich von: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1515,11 +1523,11 @@ msgstr "Erstelle XML..." msgid "LRS written to " msgstr "LRS gespeichert in " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Thumbnail Datei konnte nicht gelesen werden:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1527,16 +1535,16 @@ msgstr "" "%prog [options] datei.lrs\n" "Erstellt eine LRF Datei aus einer LRS Datei." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Pfad zur Zieldatei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Ausführlicher fortfahren" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Konvertierung von LRS zu LRS, hilfreich bei der Fehlersuche." @@ -1890,11 +1898,11 @@ msgstr "" "Umschlagbild des Buches mit der angegebenen ISBN von LibraryThing.com " "abrufen\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Benutzung: %s dateiname.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Umschlagbild gespeichert unter" @@ -1927,11 +1935,11 @@ msgstr "Benutzung: rb-meta file.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Erstelle Mobipocket Datei aus EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] dateiname.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Original MOBI HTML gespeichert in" @@ -2312,7 +2320,7 @@ msgid "Formats" msgstr "Formate" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2350,56 +2358,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "Einstellungen für das Konvertieren %s setzen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titel:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(en):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "A&nzahl der Farben:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "&Normalisieren deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Verhältnis &beibehalten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "&Schärfen deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Querformat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nicht so&rtieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Von &rechts nach links" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ent&körnung" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Weite" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "Beschneiden ausschal&ten" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " Plugins" @@ -2432,92 +2444,92 @@ msgstr "" msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Kein gültiger Plugin Pfad" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 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:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Plugin wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Plugin kann nicht ausgeschaltet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 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:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Plugin nicht anpassbar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Plugin: %s bedarf keines Anpassens" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Anpassen von %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Kann festinstalliertes Plugin nicht entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 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:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Content Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Ungültige Größe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 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:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Ortsangabe der Datenbank ungültig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Muss ein Verzeichnis sein." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Ortsangabe der Datenbank ungültig " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Ortsangabe der Datenbank ungültig.<br>Speichern nicht möglich " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Komprimiere Datenbank..." @@ -2727,13 +2739,13 @@ msgstr "Server &Port:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Ben&utzername:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Passwort:" @@ -2747,7 +2759,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "Pa&sswort anzeigen" @@ -2924,6 +2936,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2935,41 +2948,41 @@ msgstr "Fehler beim Lesen der Datei" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Es trat ein Fehler beim Lesen dieser Datei auf: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " ist kein gültiges Bild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Dieses Buch hat keine Formate verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Keine verfügbaren Formate" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Kann %s nicht konvertieren, da dieses Buch nicht den bekannten Formaten " "entspricht" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Format wählen, in das konvertiert werden soll " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Ungültiger XPath Ausdruck" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "Der Ausdruck %s ist ungültig. Fehler: %s" @@ -3714,19 +3727,24 @@ msgstr "" "<b>LibraryThing.com</b> an. <br/>Insofern Sie dies nicht besitzen, können " "Sie sich kostenlos <a href='http://www.librarything.com'>anmelden</a>! </p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Konnte kein Umschlagbild abrufen.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "Falsches Umschlagbild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Konnte kein Umschlagbild abrufen" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "Das Umschlagbild ist kein gültiges Bild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Kann kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Konnte kein Umschlagbild abrufen.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Sie müssen die ISBN für dieses Buch angeben." @@ -3814,7 +3832,7 @@ msgid "Scheduled" msgstr "Geplant" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Suche" @@ -3862,74 +3880,66 @@ msgstr "Account-Informationen müssen angegeben werden" msgid "This recipe requires a username and password" msgstr "Dieses Rezept erfordert einen Benutzernamen und ein Kennwort" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Erstellt von: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "Vor %d Tagen, %d Stunden und %d Minuten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "Zuletzt geladen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Zuletzt geladen: niemals" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Zeitgesteuerter Nachrichten Download" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Neue individuelle Nachrichtenquelle hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Nachrichten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Rezepte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Zeitplanung des Downloads" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "Titel" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "Klappentext" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "Beschreibung" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "Autor" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "Zeit&plan zum Laden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "Jeden " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "um" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3937,25 +3947,25 @@ msgstr "" "Intervall, nach dem dieses Rezept geladen werden soll. Der Wert 0 hat einen " "stündlich wiederkehrenden Download zur Folge." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " Tage" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Account" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "Damit der Zeitplan funktioniert, muss calibre gestartet bleiben." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Jetzt laden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3963,7 +3973,7 @@ msgstr "" "Geladene Nachrichten löschen, die älter als die angegebene Zahl von Tagen " "sind. Zum Ausschalten auf den Wert 0 setzen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Geladene Nachrichten löschen, die älter sind als " @@ -4505,7 +4515,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Keine Treffer</b> für die Suchworte <i>%s</i> gefunden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -4968,7 +4978,15 @@ msgstr "" "href=\"%s\">DRM</a> geschützt. Sie müssen zunächst das DRM mit einem anderen " "Programm entfernen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "Ungültiger Ort der Bibliothek" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "Konnte nicht auf %s zugreifen. Verwende %s als Bibliothek." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4977,12 +4995,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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 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:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" @@ -4992,11 +5010,11 @@ msgstr "" " 'Das Beenden könnte das Gerät beschädigen.<br>\n" " 'Wirklich beenden?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "WARNUNG: Aktive Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." @@ -5004,7 +5022,7 @@ msgstr "" "wird im System Tray weiter laufen. Zum Schließen wählen Sie <b>Beenden</b> " "im Kontextmenü des System Tray." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -5012,7 +5030,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Letzte Version: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -5022,19 +5040,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">neuen Features</a> an. " "Möchten Sie die Download Seite besuchen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Neue Version verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 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:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "Minimiert im Systembereich der Kontrollleiste starten." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "Informationen zur Fehlersuche in Konsole aufzeichnen" @@ -5375,77 +5393,77 @@ msgstr "Standardschriftart" msgid "Go to..." msgstr "Gehe zu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Stelle im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Unbekannt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Zu einem Verweis gehen. Um die Verweisnummern zu erhalten, Verweismodus " "verwenden." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Suche nach Text im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "eBook wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Lesezeichen hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Titel für Lesezeichen eingeben:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Keine Treffer gefunden für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Lade Ablauf..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Lege %s an" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Lade eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Dieses Buch ist geschützt durch <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "DRM Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5900,20 +5918,20 @@ msgstr "" "\n" "Sie erhalten Hilfe zu einem bestimmten Befehl mit: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Kopiere Bücher nach %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Kopiere <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "<p>Migriere alte Datenbank zu eBook Bibliothek in %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -5922,7 +5940,7 @@ msgid "Password to access your calibre library. Username is " msgstr "" "Kennwort für den Zugriff auf die calibre Bibliothek. Benutzername ist " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6309,6 +6327,7 @@ msgstr "Rufe Feed ab" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6339,9 +6358,11 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6357,7 +6378,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6368,11 +6389,13 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6401,6 +6424,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6408,6 +6432,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6421,7 +6446,7 @@ msgstr "Englisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6436,6 +6461,7 @@ msgstr "Serbisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "Französisch" @@ -6575,6 +6601,9 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Help on item" #~ msgstr "Hilfe für das jeweilige Objekt" +#~ msgid "Could not fetch cover" +#~ msgstr "Konnte kein Umschlagbild abrufen" + #~ msgid "Author" #~ msgstr "Autor" @@ -7032,6 +7061,15 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ "Falls weniger Kapitel erkannt werden als in dieser Zahl angegeben, dann " #~ "werden Verknüpfungen zum Inhaltsverzeichnis hinzugefügt." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normalerweise wird, falls die Ursprungsdatei schon ein Inhaltsverzeichnis " +#~ "enthält, dieses anstelle des automatisch erkannten verwendet. Mit dieser " +#~ "Option wird immer das automatisch erkannte Inhaltsverzeichnis verwendet." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -7133,6 +7171,12 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Last downloaded: %s days ago" #~ msgstr "Zuletzt geladen: vor %s Tagen" +#~ msgid "title" +#~ msgstr "Titel" + +#~ msgid "description" +#~ msgstr "Beschreibung" + #~ msgid "&Schedule for download every:" #~ msgstr "Ge&planter Download jeden:" @@ -7151,6 +7195,9 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Disable system tray icon" #~ msgstr "System Tray Icon ausschalten" +#~ msgid "author" +#~ msgstr "Autor" + #~ msgid "The maximum size for displayed covers" #~ msgstr "Maximale Größe für angezeigte Covers" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index af88ef912a..f5d0626852 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-06-24 07:23+0000\n" "Last-Translator: Thanos Petkakis <thanospet@gmail.com>\n" "Language-Team: Greek <el@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Άγνωστο" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -386,8 +386,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -470,7 +470,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,14 +481,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -507,88 +507,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -604,27 +604,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -932,120 +932,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1087,95 +1093,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1220,26 +1226,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1538,11 +1544,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1575,11 +1581,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1933,7 +1939,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1970,56 +1976,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2050,89 +2060,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2326,13 +2336,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2344,7 +2354,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2506,6 +2516,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2517,39 +2528,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3236,19 +3247,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3333,7 +3349,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3381,104 +3397,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3968,7 +3976,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4393,59 +4401,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4770,75 +4786,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5189,20 +5205,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5210,7 +5226,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5536,6 +5552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5566,9 +5583,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5584,7 +5603,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5595,11 +5614,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5628,6 +5649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5635,6 +5657,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5648,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5663,6 +5686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index c274fcf171..acff252caf 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-01 11:25+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 21:46+0000\n" "Last-Translator: DiegoJ <diegojromerolopez@gmail.com>\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -28,15 +28,15 @@ msgstr "No hace nada en absoluto" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -62,7 +62,7 @@ msgstr "No hace nada en absoluto" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -73,8 +73,8 @@ msgstr "No hace nada en absoluto" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -89,16 +89,16 @@ msgstr "No hace nada en absoluto" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Desconocido" @@ -151,11 +151,11 @@ msgstr "Extraer portada de los archivos del cómic" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:186 msgid "Read metadata from ebooks in ZIP archives" -msgstr "Leer metadatos de los libros-e en los archivos ZIP" +msgstr "Leer metadatos de los libros electrónicos en los archivos ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:196 msgid "Read metadata from ebooks in RAR archives" -msgstr "Leer metadatos de los libros-e en archivos RAR" +msgstr "Leer metadatos de los libros electrónicos en archivos RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:207 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:217 @@ -234,17 +234,17 @@ msgstr "Desactivar el complemento nombrado" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "El lector no tiene ninguna tarjeta de almacenamiento conectada" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Hay espacio insuficiente en la tarjeta de almacenamiento" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "No hay suficiente espacio libre en la memoria principal" @@ -464,12 +464,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normalmente, si el archivo fuente ya tiene una Tabla de contenidos, se usa " -"esa en vez de la autodetectada. Con esta opción la autodetectada es la que " -"siempre se usa." +"Normalmente, si el archivo fuente tiene una tabla de contenidos, se usa ésta " +"en vez de la autogenerada. Con esta opción, siempre se usará la autogenerada." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -569,7 +568,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "No se pudo encontrar un libro-e dentro del archivo" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -587,14 +586,14 @@ msgstr "" "enlaces se tomará del elemento\n" "<spine> en el archivo OPF \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Salida escrita en " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Debe especificar un archivo HTML de entrada." @@ -617,25 +616,25 @@ msgstr "" "\t\tDemasiadas marcas. Volviendo a dividir sin preservar la estructura. Esto " "puede ocasionar un renderizado incorrecto." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Escribir el HTML procesado en " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Opciones para controlar HTML traversal" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -643,11 +642,11 @@ 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -655,7 +654,7 @@ msgstr "" "Recorre los enlaces de los ficheros HTML primero en anchura. Normalmente se " "recorren primero en profundidad." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -664,40 +663,40 @@ 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Asignar metadatos del libro-e generado" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 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:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "El/los autor(es) del libro-e como una lista separada por &." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" "El/los tema(s) de este libro, escritos como una lista separada por comas." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Asignar la editorial de este libro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Un resumen de este libro" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "Cargar metadatos del archivo OPF especificado" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Utiles opciones para depurar." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -705,13 +704,13 @@ msgstr "" "Ser más explícito durante el procesamiento. Se puede especificar varias " "veces para incrementar el nivel de detalle." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "El HTML de salida está bien escrito para que sea más fácil de entender por " "humanos." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -736,29 +735,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Creando archivo LIT de EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Directorio de salida. Por defecto es el directorio actual" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Etiquetas extraídas en formato legible. Se pueden modificar con espacios en " "blanco." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Útil para depuración." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "Libro-e OEB creado en" @@ -1150,15 +1149,15 @@ msgstr "" 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:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "%s renderizado" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Fallido %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1168,26 +1167,26 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opciones para controlar la conversión de archivos de cómics (CBR, CBZ) en " "libros-e." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" "Título para el libro-e generado. Por defecto se usa el nombre de archivo." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Establece el autor en los metadatos del libro-e generado. 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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1195,34 +1194,42 @@ msgstr "" "Ruta al archivo de salida. Por defecto el archivo se crea en el directorio " "actual." -#: /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 "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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Deshabilitar afilar." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" +"Desactivar el recortado de páginas de cómics. Para algunos cómics, el " +"recortado puede eliminar tanto contenido como bordes." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1230,7 +1237,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1238,7 +1245,7 @@ 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1246,7 +1253,7 @@ msgstr "" "Activa eliminación de artefactos (despeckle). Reduce el ruido de artefactos " "en imágenes. Puede incrementar bastante el tiempo de procesamiento." -#: /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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1254,7 +1261,7 @@ 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1265,7 +1272,7 @@ msgstr "" "Esto es adecuado para cualquier lector con el mismo tamaño de pantalla. Las " "opciones son %s." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1274,15 +1281,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "No mostrar barra de progreso." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Dejar imágenes sin procesar" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1292,11 +1299,11 @@ msgstr "" "\n" "Convierte un comic en CBZ o CBR a un libro-e. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Salida escrita a" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Interpretando paginas comic..." @@ -1347,56 +1354,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer archivo detectado." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalizando HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 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:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "HTML preprocesado escrito en " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Procesando %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tConversión a BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 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:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 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:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1404,14 +1411,14 @@ msgstr "" "No se puedo procesar imagen: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1419,11 +1426,11 @@ msgstr "" "Tabla errónea:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1431,19 +1438,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "No se puedo leer de: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1502,11 +1509,11 @@ msgstr "Creando XML..." msgid "LRS written to " msgstr "LRS escrito en " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "No se pudo leer el archivo de miniatura:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1514,16 +1521,16 @@ msgstr "" "%prog [opciones] archivo.lrs\n" "Compila un archivo LRS a un archivo LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Directorio del archivo de salida" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Procesado detallado" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Convierte LRS a LRS, útil para depuración." @@ -1868,11 +1875,11 @@ msgstr "" "Adquiere una portada para el libro identificado por el ISBN en " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Uso: %s archivo.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Portada guardada en" @@ -1905,11 +1912,11 @@ msgstr "Uso: rb-meta file.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Creando archivo Mobipocket de un EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [opciones] milibroe.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "HTML MOBI en bruto guardado en" @@ -2290,7 +2297,7 @@ msgid "Formats" msgstr "Formatos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2327,56 +2334,60 @@ msgstr "Opciones por defecto para conversión de comics (archivos CBR/CBZ)" msgid "Set options for converting %s" msgstr "Establecer opciones para convertir %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Título:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(es)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Numeros de Colores" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Perfil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Desactivar &normalización" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Mantener &proporción" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Desactivar &afilamiento" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Apaisado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "No ordenar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Derecha a izquierda" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle (eliminar artefactos en imágenes)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Ancho" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "Desactivar &recortado" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " complementos" @@ -2409,91 +2420,91 @@ msgstr "" msgid "Plugins" msgstr "Complementos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Ruta de complemento inválida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "%s no es una ruta de complemento válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Elegir complemento" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "El complemento no puede desactivarse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "El complemento: %s no puede desactivarse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Complemento no personalizable" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Complemento: %s no necesita personalización" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Personalizar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "No se puede eliminar el complemento incorporado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " no puede eliminarse. Es un complemento incorporado. En vez de eso, intenta " "desactivarlo." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Registro de errores:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Registro de accesos:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Falló al iniciar el servidor de contenidos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Tamaño no válido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "El tamaño %s no es válidao. Debe ser de la forma anchoxalto" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Ubicación no válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Debe ser un directorio." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Ubicación no válida " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Ubicación no válida.<br>Imposible escribir en " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Compactando..." @@ -2699,13 +2710,13 @@ msgstr "&Puerto del servidor:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "&Usuario:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Contraseña:" @@ -2719,7 +2730,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Mostrar clave" @@ -2896,6 +2907,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2907,39 +2919,39 @@ msgstr "Error leyendo archivo" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Hubo un error leyendo el archivo: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " no es una imagen válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "No se puede convertir" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Este libro no tiene formatos disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Formatos no disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "No se puede convertir %s porque el formato no está soportado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Elegir el formato para convertir a " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Expresión XPath no válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "La expresión %s es inválida. Error: %s" @@ -3671,19 +3683,24 @@ msgstr "" "<b>LibraryThing.com</b>. <br/>Si no dispone de una cuenta, puede <a " "href='http://www.librarything.com'>regisrarse</a> de manera gratuita.</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>No se puede descargar la portada.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "Portada mala" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "No se puede descargar la portada." +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "La portada no es una imagen válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "No se puede descargar la portada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>No se puede descargar la portada.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Especifique primero un ISBN válido para el libro." @@ -3773,7 +3790,7 @@ msgid "Scheduled" msgstr "Planificado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Buscar" @@ -3821,74 +3838,66 @@ msgstr "Hay que rellenar la información de cuenta" msgid "This recipe requires a username and password" msgstr "Esta receta requiere un usuario y contraseña" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Creado por: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "Hace %d días, %d horas y %d minutos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "Último descargado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Última descarga: nunca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Descarga de noticias planificada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Añadir nueva fuente de noticias" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Noticias" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Recetas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Plan de descarga" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "título" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "publicidad" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "descripción" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "autor" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "&Programación de la descarga:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "Cada " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "a las" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3896,27 +3905,27 @@ msgstr "" "Intervalo en el que se descargará esta receta. Un valor de cero significa " "que esta receta se descargará cada hora." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " días" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Cuenta" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" "Calibre ha de estar en ejecución para que funcione la planificación de " "trabajos." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Descargar ahora" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3924,7 +3933,7 @@ msgstr "" "Borrar noticias descargadas más viejas que un número especificado de días. " "Ponla a cero para desactivar el borrado." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Se requiere eliminar noticias descargadas más antiguas que " @@ -4462,7 +4471,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>No </b>se han encontrado coincidencias para \"<i>%s</i>\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "No se han encontrado coincidencias" @@ -4922,7 +4931,15 @@ msgstr "" "<p>No se pudo convertir: %s<p>Es un libro con <a href=\"%s\">DRM</a>. " "Primero tienes que eliminar el DRM usando herramientas de una 3ª parte." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "Ubicación de biblioteca no válida" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "No se puede acceder a %s. Usando %s como biblioteca." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4931,11 +4948,11 @@ msgstr "" "lo encuentras útil, por favor, considera donar dinero para soportar su " "desarrollo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hay tareas activas. ¿Estás seguro de que quieres salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" @@ -4946,11 +4963,11 @@ msgstr "" "dispositivo.<br>\n" " '¿Estás seguro de que deseas salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "AVISO: tareas activas" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." @@ -4958,7 +4975,7 @@ msgstr "" "continuará ejecutándose en la bandeja del sistema. Para cerrarlo, elige " "<b>Salir</b> en el menú de contexto de la bandeja del sistema." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4966,7 +4983,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Última versión: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4976,19 +4993,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nuevas " "características</a>. Visita la página de descarga?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Actualización disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "Usar la biblioteca que está en la ruta especificada." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "Iniciar programa minimizado en la bandeja del sistema" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "Información del log de depuración a consola" @@ -5328,77 +5345,77 @@ msgstr "El tipo de letra estándar" msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Posición en el libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Desconocido" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Ve a referencia. Para obtener los número de referencia, usa el modo " "referencia." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Buscar en el texto del libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Elegir libro-e" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "Libros-e" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Añadir marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Introduce el título del marcador:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "No se encontraron correspondencias para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Cargando flujo..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Diseñando %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Cargando libro-e..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Este libro está protegido por <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Error DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "No se puede abrir el libro-e" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "Opciones para controlar el visor de libros-e" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5855,21 +5872,21 @@ msgstr "" "\n" "Para ver la ayuda a cada orden ejecuta: %%prog orden --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Copiando libros a %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Copiando <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" "<p>Migrando base de datos antigua a biblioteca de libros-e en %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Compactando base de datos" @@ -5878,7 +5895,7 @@ msgid "Password to access your calibre library. Username is " msgstr "" "Contraseña para acceder a la biblioteca calibre. El nombre de usuario es " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6266,6 +6283,7 @@ msgstr "Obteniendo canales de noticias" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6296,9 +6314,11 @@ msgstr "Español" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6314,7 +6334,7 @@ msgstr "Español" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6325,11 +6345,13 @@ msgstr "Español" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6358,6 +6380,7 @@ msgstr "Español" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6365,6 +6388,7 @@ msgstr "Español" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6378,7 +6402,7 @@ msgstr "Inglés" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6393,6 +6417,7 @@ msgstr "Serbio" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "Francés" @@ -6539,6 +6564,9 @@ msgstr "Mostrar información de salida detallada. Útil para la depuración" #~ msgid "Help on item" #~ msgstr "Ayuda con el ítem" +#~ msgid "Could not fetch cover" +#~ msgstr "No se puede descargar la portada." + #~ msgid "Author" #~ msgstr "Autor" @@ -6934,6 +6962,15 @@ msgstr "Mostrar información de salida detallada. Útil para la depuración" #~ msgid "The author(s) of the ebook, as a comma separated list." #~ msgstr "El/los autor(es) del libro-e, en forma de lista separada por comas." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normalmente, si el archivo fuente ya tiene una Tabla de contenidos, se usa " +#~ "esa en vez de la autodetectada. Con esta opción la autodetectada es la que " +#~ "siempre se usa." + #~ msgid "Bulk convert to EPUB" #~ msgstr "Conversión de crudo (sin procesar) a EPUB" @@ -7004,12 +7041,21 @@ msgstr "Mostrar información de salida detallada. Útil para la depuración" #~ msgid "Last downloaded: %s days ago" #~ msgstr "Última descarga: hace %s días" +#~ msgid "title" +#~ msgstr "título" + +#~ msgid "description" +#~ msgstr "descripción" + #~ msgid "&Schedule for download every:" #~ msgstr "&Planificar para descargar cada:" #~ msgid "&Donate" #~ msgstr "&Donar" +#~ msgid "author" +#~ msgstr "autor" + #~ msgid "The maximum size for displayed covers" #~ msgstr "El tamaño máximo con el que se mostrará las portadas" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 0ceabc22d7..fab340afaa 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-05 20:05+0000\n" -"Last-Translator: Vincent C. <Unknown>\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 20:09+0000\n" +"Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -25,15 +25,15 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Inconnu" @@ -228,17 +228,17 @@ msgstr "Désactive le greffon nommé" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Le lecteur n'a pas de carte mémoire connectée." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Espace insuffisant sur la carte mémoire" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Espace insuffisant dans la mémoire principale" @@ -463,8 +463,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -562,7 +562,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "Ne trouve pas d'ebook dans l'archive" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -573,14 +573,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "La sortie est écrite vers " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Vous devez spécifier un fichier HTML en entrée" @@ -599,26 +599,26 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Ecrit le HTML généré vers " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "Répertoire de sortie. Par défaut, le répertoire courant." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "Encodage de caractères pour des fichiers HTML. Par défaut, détection " "automatique." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -626,55 +626,55 @@ msgstr "" "Envoyer le flux de sortie vers un fichier zip. Si cette option est " "spécifiée, la sortie doit être un nom de fichier et non un répertoire." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "Gère le suivi les liens dans les fichiers HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Changer les méta-données de l'ebook généré" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Changer le titre. La valeur par défaut est l'autodétection." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "Une liste des auteurs de ce livre, séparés par des &." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "Une liste des sujets de ce livre, séparés par des virgules." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Changer l'éditeur du livre" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Un résumé de ce livre" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "Lire les méta-données à partir du fichier OPF spécifié." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Options utiles pour le débogage" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -682,13 +682,13 @@ msgstr "" "Plus verbeux lors du traitement. Peux être spécifié plusieurs fois afin " "d'augmenter le niveau de verbosité." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "La sortie HTML est \"imprimée plus joliment\" afin de faciliter l'analyse " "par les humains" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -712,27 +712,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Création du fichier LIT à partir de l'EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] FichierLit" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Dossier de récupération. Par défaut, il s'agit du dossier actuel." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Utile pour déboguer" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "ebook OEB créé dans" @@ -1121,15 +1121,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Aucun fichier sélectionné à convertir." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Échec %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1139,27 +1139,27 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Options pour contrôler la conversion des bandes déssinées (fichiers CBR, " "CBZ) présentes dans les ebooks." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Indiquer l'auteur dans les méta-données du fichier ebook généré. Par 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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1167,54 +1167,60 @@ msgstr "" "Chemin du fichier de sortie. Par défaut, un fichier est créé dans le " "répertoire courant." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." msgstr "Maintient le ratio pour l'image. Par défaut : Plein écran." -#: /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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1224,7 +1230,7 @@ msgstr "" "défaut : SONY PRS-500 avec une taille d'écran de 584x754 pixels. Valable " "aussi pour tout autre lecteur avec la même taille d'écran. Les choix sont %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1233,15 +1239,15 @@ msgstr "" "Plus verbeux, utile pour le débogage. Peut être spécifié plusieurs fois afin " "d'augmenter la verbosité." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "N'affiche pas la barre de progression." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "N'applique aucun traitement sur l'image" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1251,11 +1257,11 @@ msgstr "" "\n" "Convertit une bande-dessinées en fichier CBZ ou CBF dans un ebook. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "La sortie est écrite vers" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1305,56 +1311,56 @@ msgstr "Options pour contrôler le comportement de html2lrf" msgid "Fetching of recipe failed: " msgstr "Échec du téléchargement de la recette : " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalyse de l'HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tFichier Baen détecté, redémarrage de l'analyse..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Ecrit le HTM prétraité vers " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Traitement de %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tConversion en BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 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:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s est un fichier vide" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "Impossible d'ajouter le lien %s à la TDM" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "Incapable d'analyser le fichier PNG %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1362,14 +1368,14 @@ msgstr "" "Ne peut traiter l'image: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Une erreur s'est produite pendant l'analyse d'une table: %s. Cette table " "sera ignorée." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1377,11 +1383,11 @@ msgstr "" "Mauvaise table:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1389,19 +1395,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Ne peut lire depuis: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1460,11 +1466,11 @@ msgstr "Création du XML..." msgid "LRS written to " msgstr "LRS écrit à " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Impossible de lire le fichier de vignettes:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1472,16 +1478,16 @@ msgstr "" "%prog [options] file.lrs\n" "Compile un fichier LRS en un fichier LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Chemin vers le fichier sortie" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Analyse avec explications" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Convertir LRS en LRS, utile pour déboguer." @@ -1831,11 +1837,11 @@ msgstr "" "Chercher une image de couverture du livre identifié par ISBN sur " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Usage: %s file.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Couverture sauvée sur" @@ -1868,11 +1874,11 @@ msgstr "Utilisation: rb-meta fichier.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Créé le fichier Mobipocket à partir de l'EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] myebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -2238,7 +2244,7 @@ msgid "Formats" msgstr "Formats" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2276,56 +2282,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "Indiquer les options pour la conversion de %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titre:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Auteur(s):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Nombre de couleurs:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Paysage" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Pas de t&ri" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "De d&roite à gauche" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " plugins" @@ -2358,91 +2368,91 @@ msgstr "" msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Pas de répertoire valide pour les plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "%s n'est pas un répertoire valide pour les plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Choisir le plugin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Le plugin ne peut pas être désactivé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "Le plugin %s ne peut pas être désactivé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Le plugin ne peut pas être personnalisé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Le plugin %s ne peut pas être personnalisé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Personnalise %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Ne peut pas retirer les plugins natif" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " ne peut pas être retiré. C'est un plugin natif. Essayer plutôt de le " "désactiver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Taille invalide" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "La taille %s est invalide. Doit être au format largeurxhauteur" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Chemin de la database invalide" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Doit être un répertoire." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Chemin de la database invalide " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Chemin de la database invalide.<br>Erreur en écriture " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "Compacte la base. Cela peut prendre un certains temps." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Compactage en cours..." @@ -2648,13 +2658,13 @@ msgstr "&Port du serveur:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Nom de l'&utilisateur :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "Mot de &passe :" @@ -2668,7 +2678,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Affiche le mot de passe" @@ -2837,6 +2847,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2848,41 +2859,41 @@ msgstr "Erreur à la lecture du fichier" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Il y a eu une erreur à la lecture du fichier : <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " n'est pas une image vailde" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Conversion impossible" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Aucun format disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Conversion du livre %s impossible parcequ'il ne dispose d'aucun format " "supporté" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Choisir le format à convertir vers " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Expression XPath invalide" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "L'expression %s est invalide. Erreur : %s" @@ -3603,19 +3614,24 @@ msgstr "" "<b>LibraryThing.com</b>. <br/>Si vous n'en avez pas, vous pouvez <a " "href='http://www.librarything.com'>y créer un compte </a> gratuitement !</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Erreur à la récupération de l'image de couverture.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -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:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 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:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Erreur à la récupération de l'image de couverture.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Vous devez fournir l'identifiant ISBN de ce livre." @@ -3703,7 +3719,7 @@ msgid "Scheduled" msgstr "Planifié" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Trouver" @@ -3751,104 +3767,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Créé par: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "il y a %d jours, %d heures et %d minutes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "Dernier téléchargé" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Dernier téléchargé: jamais" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Informations" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "titre" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "description" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "auteur" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "Chaque " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "à" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " jours" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Compte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Télécharge maintenant" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Supprimer les informations téléchargés plus anciennes que " @@ -4160,6 +4168,29 @@ msgid "" "expression on a few sample filenames. The group names for the various " "metadata entries are documented in tooltips.</p></body></html>" msgstr "" +"Copy text \t\n" +"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" " +"\"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" +"<html><head><meta name=\"qrichtext\" content=\"1\" /><style " +"type=\"text/css\">\n" +"p, li { white-space: pre-wrap; }\n" +"</style></head><body style=\" font-family:'DejaVu Sans'; font-size:10pt; " +"font-weight:400; font-style:normal;\">\n" +"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-" +"right:0px; -qt-block-indent:0; text-indent:0px;\">Indiquer un modèle " +"d'expression régulière à utiliser pour déduire les méta-données à partir des " +"noms de fichiers. </p>\n" +"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-" +"right:0px; -qt-block-indent:0; text-indent:0px;\">Un <a " +"href=\"http://docs.python.org/lib/re-syntax.html\"><span style=\" text-" +"decoration: underline; color:#0000ff;\">renvoi</span></a> sur la syntaxe " +"d'une expression régulière est disponible.</p>\n" +"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-" +"right:0px; -qt-block-indent:0; text-indent:0px;\">Utiliser la fonctionnalité " +"de <span style=\" font-weight:600;\">test</span> ci-dessous pour valider " +"votre expression régulière avec quelques exemples de noms de fichiers. Les " +"groupes pour chacune des entrées de méta-données sont affichés dans les " +"bulles d'aide.</p></body></html>" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:104 msgid "Regular &expression" @@ -4200,7 +4231,7 @@ msgstr "Pas de correspondance" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111 msgid "Authors:" -msgstr "Auteurs" +msgstr "Auteurs:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "Regular expression (?P<authors>)" @@ -4348,7 +4379,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Aucun résultat</b> pour la recherche <i>%s</i>." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Aucun résultat" @@ -4477,12 +4508,12 @@ msgstr "Sauvegarder sur le disque" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:195 msgid "Save to disk in a single directory" -msgstr "Sauvegarde vers le disque dans un répertoire" +msgstr "Sauvegarder sur le disque dans un seul répetoire" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1261 msgid "Save only %s format to disk" -msgstr "Sauvegarde seulement le format %s vers le disque" +msgstr "Sauvegarder seulement le format %s vers le disque" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:364 @@ -4491,7 +4522,7 @@ msgstr "Visualiser" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:200 msgid "View specific format" -msgstr "Afficher le format spécifique" +msgstr "Visualiser le format spécifique" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Convert individually" @@ -4792,7 +4823,15 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4801,28 +4840,28 @@ msgstr "" "Si vous le trouvez utile, pensez à donner afin de supporter son " "développement." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Il y a des travaux actifs. Voulez-vous vraiment finir ?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "ATTENTION: Travaux actifs" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4830,7 +4869,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Dernière version: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4840,19 +4879,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">Nouveautés</a>. " "Visiter la page téléchargée ?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Mise à jour disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "Utiliser la librairie présente dans le répertoire spécifié." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4904,11 +4943,11 @@ msgstr "Réinitialisation de la recherche rapide" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:347 msgid "Match any" -msgstr "" +msgstr "Aucune correspondance" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:348 msgid "Match all" -msgstr "" +msgstr "Toutes les correspondances" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:349 msgid "Sort by &popularity" @@ -5186,77 +5225,77 @@ msgstr "Le type de fonte standard" msgid "Go to..." msgstr "Aller vers..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Position dans le livre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Inconnu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Aller vers une référence. Pour indiquer des numéros de référence, utiliser " "le mode référence." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Rechercher du texte dans le livre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Choisir un ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "Ebooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Ajouter un signet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Entrer un titre pour le signet:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Pas de correspondance trouvée pour: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Chargement du flux..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Charge l'ebook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Ce livre est protégé par <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Erreur de DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Impossible d'ouvrir l'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5645,20 +5684,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Copie les livres vers %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Copie <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "<p>Migre l'ancienne base vers la librairie dans %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Compacte la base" @@ -5667,7 +5706,7 @@ msgid "Password to access your calibre library. Username is " msgstr "" "Mot de passe pour accéder à la librairie calibre. Le nom d'utilisateur est " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6004,6 +6043,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6034,9 +6074,11 @@ msgstr "Italien" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6052,7 +6094,7 @@ msgstr "Italien" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6063,11 +6105,13 @@ msgstr "Italien" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6096,6 +6140,7 @@ msgstr "Italien" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6103,6 +6148,7 @@ msgstr "Italien" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6116,7 +6162,7 @@ msgstr "Anglais" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6131,6 +6177,7 @@ msgstr "Serbe" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "Français" @@ -6276,6 +6323,9 @@ msgstr "Affiche des informations détaillées. Utile pour le débogage" #~ msgid "Help on item" #~ msgstr "Aide" +#~ msgid "Could not fetch cover" +#~ msgstr "Erreur à la récupération de l'image de couverture" + #~ msgid "Author" #~ msgstr "Auteur" @@ -6440,3 +6490,12 @@ msgstr "Affiche des informations détaillées. Utile pour le débogage" #~ "<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:'Sans Serif'; font-size:9pt;\"></p></body></html>" + +#~ msgid "title" +#~ msgstr "titre" + +#~ msgid "description" +#~ msgstr "description" + +#~ msgid "author" +#~ msgstr "auteur" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index dd8f97aca1..51d693a7d8 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-09-30 12:33+0000\n" "Last-Translator: Calidonia <Unknown>\n" "Language-Team: Galician <gl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "O lector non ten conectada tarxeta de almacenamento ningunha" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -391,8 +391,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -475,7 +475,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -486,14 +486,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -512,88 +512,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -609,27 +609,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -937,120 +937,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1092,95 +1098,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1225,26 +1231,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1543,11 +1549,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1580,11 +1586,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1938,7 +1944,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1975,56 +1981,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2055,89 +2065,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2331,13 +2341,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2349,7 +2359,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2511,6 +2521,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2522,39 +2533,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3241,19 +3252,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3338,7 +3354,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3386,104 +3402,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3973,7 +3981,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4398,59 +4406,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4775,75 +4791,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5194,20 +5210,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5215,7 +5231,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5541,6 +5557,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5571,9 +5588,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5589,7 +5608,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5600,11 +5619,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5633,6 +5654,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5640,6 +5662,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5653,7 +5676,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5668,6 +5691,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/he.po b/src/calibre/translations/he.po index b64b037c90..16999facb7 100644 --- a/src/calibre/translations/he.po +++ b/src/calibre/translations/he.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-03-02 20:50+0000\n" "Last-Translator: nikitajy <nikitajy@gmail.com>\n" "Language-Team: Hebrew <he@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "לא עושה דבר" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "לא ידוע" @@ -220,17 +220,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -388,8 +388,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -472,7 +472,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -483,14 +483,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -509,88 +509,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -606,27 +606,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -934,120 +934,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1089,95 +1095,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1222,26 +1228,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1540,11 +1546,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1577,11 +1583,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1935,7 +1941,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1972,56 +1978,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2052,89 +2062,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2328,13 +2338,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2346,7 +2356,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2508,6 +2518,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2519,39 +2530,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3238,19 +3249,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3335,7 +3351,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3383,104 +3399,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3970,7 +3978,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4395,59 +4403,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4772,75 +4788,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5191,20 +5207,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5212,7 +5228,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5538,6 +5554,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5568,9 +5585,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5586,7 +5605,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5597,11 +5616,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5630,6 +5651,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5637,6 +5659,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5650,7 +5673,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5665,6 +5688,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/hu.po b/src/calibre/translations/hu.po index 32679a7ab3..d745eb4544 100644 --- a/src/calibre/translations/hu.po +++ b/src/calibre/translations/hu.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-02-26 18:17+0000\n" "Last-Translator: Molnár Gábor <csirkus@gmail.com>\n" "Language-Team: Hungarian <hu@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Semmit nem csinál" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Semmit nem csinál" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Semmit nem csinál" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Semmit nem csinál" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Ismeretlen" @@ -229,17 +229,17 @@ msgstr "A bővítmény letiltása" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Az e-könyv olvasóhoz nincs memóriakártya csatlakoztatva." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Nincs elég hely a memóriakártyán." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Nincs elég hely a fő memóriában" @@ -456,12 +456,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normális esetben, ha a forrás fájl már tartalmaz tartalomjegyzéket, akkor " -"azt fogjuk használni. Ha ez az opció be van kapcsolva, mindig az " -"automatikusan generált tartalomjegyzéket használjuk." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -570,7 +567,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "Nem találtam e-könyvet a tömörített fájlban." -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -588,14 +585,14 @@ msgstr "" "takes from\n" "the <spine> element of the OPF file. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Kimenetet sikeresen írtam ide: " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Meg kell adnod egy HTML fájlt bemenetként" @@ -618,26 +615,26 @@ msgstr "" "\t\tTúl sok formázás. Újradarabolom a szerkezet megőrzése nélkül. Ez " "helytelen megjelenést eredményezhet." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Feldolgozott HTML-t kiírtam ide: " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Beállítások a HTML fájlok feldolgozásához" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "Célkönyvtár. Az alapértelmezett a jelenlegi könyvtár." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" "A HTML fájloknál használt karakterkódolás. Alapértelmezés az automatikus " "felismerés." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -645,18 +642,18 @@ msgstr "" "A kimenet zip fájlba legyen tömörítve. Ha ez az opció be van kapcsolva, az --" "output kapcsoló után egy fájlnevet kell megadni, nem egy könyvtárnevet." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "A HTML fájlok linkjeinek követése" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" "HTML linkek szélességi követése. Az alapértelmezés a mélységi követés." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -664,41 +661,41 @@ msgstr "" "HTML linkek követésének maximális mélysége. Nem-negatív számot kell megadni. " "0 esetén a linkek követése ki lesz kapcsolva." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "A létrehozott könyvek metaadatainak beállítása" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" "Cím beállítása. Ha nincs semmi beírva, megpróbálom automatikusan " "megállapítani." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "A könyv szerzői '&' jelekkel elválasztott listában megadva." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "A könyv témája/témái, vesszővel elválasztva." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "A könyv kiadója." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Rövid összefoglaló a könyvről." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "Meta-adatok betöltése a megadott OPF fájlból." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Hibakereséshez hasznd beállítások" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -706,12 +703,12 @@ msgstr "" "Beszédesebb kimenet feldolgozás közben. Többszöri megadásra további infókat " "ír ki." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "A kimenet HTML kód \"szépen formázott\" lesz a könnyebb olvashatóság kedvéért" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -736,27 +733,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "LIT fájl létrehozása..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [beállítások] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Célkönyvtár. Az alapértelmezett a jelenlegi könyvtár." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Hasznos hibakeresésnél." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "Az OEB e-könyvet létrehoztam ennyi idő alatt:" @@ -1125,15 +1122,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Nem adtál meg konvertálandó fájlt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Elkútruk! %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1144,21 +1141,21 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "Beállítások képregények(CBR, CBZ) e-könyvbe konvertálásához" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "A létrehozott könyv címe. Alapértelmezés: a fájl neve." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "Szerző a fájl metaadataiban. Alapértelmezés: %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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1166,31 +1163,37 @@ msgstr "" "A kimeneti fájl útvonala. Alapértelmezés szerint az aktuális könyvtárba " "kerül a fájl." -#: /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 "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Szürkeárnyalatok száma a képek konvertálásához. Alapértelmezés: %default" -#: /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 normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Normalizállás mellőzése az élénk szinű képeknél (növeli a kontrasztot). " "Alapértelmezett: hamis" -#: /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 "Maintain picture aspect ratio. Default is to fill the screen." msgstr "A képméretarány megtartása. Alapértelmezett: kijelző kitőltése" -#: /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 "Disable sharpening." msgstr "Élesítés letiltása." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" msgstr "Fekvő képeket ne vágja szét két álló képre." -#: /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:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1198,7 +1201,7 @@ msgstr "" "Képméretarány megtartása és a képméret növelése növelése, tájképmódban lesz " "látható." -#: /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:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1206,7 +1209,7 @@ msgstr "" "Jobbról balra haladó kiadványoknál (pl. Manga) portréoldalakba hasítás " "jobbról balra." -#: /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:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1214,7 +1217,7 @@ msgstr "" "Foltszűrés bekapcsolása. A folt típusú zajt jelentősen csökkenti, de sokkal " "nagyobb feldolgozási időt eredményezhet." -#: /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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1222,14 +1225,14 @@ msgstr "" "A képregény csomagban talált fájlokat a képregényhez való hozzáadás " "sorrendje alapján rendezze a névsorrend helyett." -#: /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:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1238,15 +1241,15 @@ msgstr "" "Beszédesebb kimenet. Hasznos hibakeresésnél. Ha több alkalommal adod meg, " "még több kimenet lesz." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Ne mutassa a folyamatjelzőt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Képek változatlan megtartása módosítás nélkül." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1256,11 +1259,11 @@ msgstr "" "\n" "CBZ vagy CBR képregény konvertálása e-könyv formátumba. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "A kimenetet ide mentettem:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Képregény oldalak feldolgozása..." @@ -1310,56 +1313,56 @@ msgstr "Paraméterek a html2lrf program számára" msgid "Fetching of recipe failed: " msgstr "Az újság letölése nem sikerült: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer fájl található." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tHTML beolvasása..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen fájl található. Újraelemzés..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Az előre feldolgozott HTML kiírása ide: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Feldolgozás: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tKonvertálás BBeB formátumba..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Nem tudtam feldolgozni a fájlt: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "A %s fájl üres!" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "A link feldolgozása nem sikerült: %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "Nem tudtam a linket hozzáadni a tartalomjegyzékhez: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Hiba a \"%s\" kép feldolgozása közben: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "Nem tudtam feldolgozni a PNG képet: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1367,14 +1370,14 @@ msgstr "" "Nem tudtam feldolgozni a képet: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Hiba történt a táblázat feldolgozása közben: %s. A táblázat formázást " "figyelmen kívül hagyom." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1382,11 +1385,11 @@ msgstr "" "Hibás táblázat:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "A táblázatban olyan cellák vannak, amelyek túl nagyok." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1394,19 +1397,19 @@ msgstr "" "Mentsd le a %s weboldalt egy mappába, majd a html fájlon futtasd a html2lrf " "konvertáló programot." -#: /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:1869 msgid "Could not read cover image: %s" msgstr "Nem tudtam a borító képet olvasni: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Hiba olvasás közben: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Hiba az opf fájl feldolgozása közben" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1464,11 +1467,11 @@ msgstr "XML létrehozása..." msgid "LRS written to " msgstr "Az LRS fájl helye: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Nem tudtam az ikon fájlt olvasni:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1476,16 +1479,16 @@ msgstr "" "%prog [beállítások] konyv.lrf\n" "LRS fájlt lefordítása LRF formátumba." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "A célfájl elérési útja" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Informatívabb üzenetek feldolgozásnál" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "LRS fájl konvertálása LRS formátumba (hibakeresésnél hasznos)." @@ -1796,11 +1799,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1833,11 +1836,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -2191,7 +2194,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2228,56 +2231,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2308,89 +2315,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2584,13 +2591,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2602,7 +2609,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2764,6 +2771,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2775,39 +2783,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3494,19 +3502,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3591,7 +3604,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3639,104 +3652,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4226,7 +4231,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4651,59 +4656,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -5028,75 +5041,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5447,20 +5460,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5468,7 +5481,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5794,6 +5807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5824,9 +5838,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5842,7 +5858,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5853,11 +5869,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5886,6 +5904,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5893,6 +5912,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5906,7 +5926,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5921,6 +5941,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -5996,6 +6017,15 @@ msgstr "" #~ msgid "The author(s) of the ebook, as a comma separated list." #~ msgstr "A könyv szerző(i), vesszővel elválasztva." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normális esetben, ha a forrás fájl már tartalmaz tartalomjegyzéket, akkor " +#~ "azt fogjuk használni. Ha ez az opció be van kapcsolva, mindig az " +#~ "automatikusan generált tartalomjegyzéket használjuk." + #~ msgid "" #~ "Remove spacing between paragraphs. Will not work if the source file forces " #~ "inter-paragraph spacing." diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 62fec6e340..cb5e163680 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-02-24 14:28+0000\n" "Last-Translator: Luca Cipriani <luca.opensource@gmail.com>\n" "Language-Team: italiano\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -27,15 +27,15 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -61,7 +61,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -72,8 +72,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -88,16 +88,16 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Sconosciuto" @@ -230,17 +230,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Il lettore non ha una scheda di memoria connessa." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Non c'è spazio a sufficienza nella scheda di memoria" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Non c'è spazio a sufficienza nella memoria principale" @@ -441,12 +441,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normalmente, se il file di origine ha già un sommario, verrà usato questo al " -"posto di quello autorilevato. Con questa opzione, verrà usato il sommario " -"autorilevato." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -539,7 +536,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -557,14 +554,14 @@ msgstr "" "presa\n" "dall'elemento <spine> del file OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Output scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "È necessario specificare un file HTML" @@ -587,25 +584,25 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "HTML processato scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 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:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -613,11 +610,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -625,7 +622,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -633,39 +630,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Impostare i metadati del libro generato" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Impostare il titolo. Predefinito: rilevato automaticamente." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Impostare l'editore di questo libro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Un riassunto di questo libro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 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:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Opzioni utili per il debugging" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -673,13 +670,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -695,29 +692,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Creazione di file LIT da EPUB in corso..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [opzioni] FILELIT" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Cartella in uscita. Predefinita: cartella corrente." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "markup estratto in formato leggibile. Potrebbe modificare spazi vuoti " "significativi." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Utile per il debugging" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "Libro OEB creato in" @@ -1112,15 +1109,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Nessun file da convertire specificato" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Trasformato %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Fallito %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1130,24 +1127,24 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1155,34 +1152,40 @@ 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Disabilita maschera di nitidezza." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1190,7 +1193,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1199,7 +1202,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1207,7 +1210,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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1215,7 +1218,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1226,7 +1229,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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1235,15 +1238,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 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:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1253,11 +1256,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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Output scritto in" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Trasformazione pagine fumetto..." @@ -1308,56 +1311,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tFile di Book Designer individuato" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalisi HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tFile di Baen individuato. Rianalizzo..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "HTML preprocessato scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Sto processando %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tConversione in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Impossibile analizzare il file: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s è un file vuoto" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1365,14 +1368,14 @@ msgstr "" "Impossibile processare l'immagine: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1380,11 +1383,11 @@ msgstr "" "Tabella malformata:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1392,19 +1395,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Impossibile leggere da: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Processamento del file OPF fallito" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1462,11 +1465,11 @@ msgstr "Creazione XML..." msgid "LRS written to " msgstr "LRS scritto in " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Impossibile leggere dal file della miniatura:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1474,16 +1477,16 @@ msgstr "" "%prog [opzioni] file.lrs\n" "Compila un file LRS dentro un file LRF" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Percorso del file in uscita" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Processamento dettagliato" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Converte LRS in LRS, utile per il debugging" @@ -1832,11 +1835,11 @@ msgstr "" "Scarica un'immagine di copertina per il libro identificato dall'ISBN da " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Uso: %s file.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Copertina salvata in" @@ -1869,11 +1872,11 @@ msgstr "Uso: rb-meta file.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [opzioni] miolibro.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "MOBI HTML raw salvato in" @@ -2234,7 +2237,7 @@ msgid "Formats" msgstr "Formati" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2272,56 +2275,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "mposta le opzioni per convertire %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titolo:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autore(i)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Numero di colori:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profilo:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Disabilita normali&zzazione" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Ma&ntieni proporzioni" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Disabilita masc&hera di nitidezza" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Orizzontale" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Non ordinare" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Da destra a sinistra" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Largo" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " plug-in" @@ -2354,90 +2361,90 @@ msgstr "" msgid "Plugins" msgstr "Plug-in" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Personalizza %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "File di log degli errori:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "File di log degli accessi:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti fallito" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Dimensione non valida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 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:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Percorso database non valido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Deve essere una cartella" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Percorso database non valido " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Percorso database non valido.<br>Impossibile scrivere su " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Compattazione..." @@ -2639,13 +2646,13 @@ msgstr "&Porta del server:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "&Nome utente:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Password:" @@ -2659,7 +2666,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Mostra password" @@ -2831,6 +2838,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2842,40 +2850,40 @@ msgstr "Errore nella lettura del file" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Si è verificato un errore nella lettura del file: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " non è un'immagine valida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Impossibile convertire" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Questo libro non ha formati disponibili" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Nessun formato disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Impossibile convertire %s perché questo libro non ha formati supportati" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Espressione XPath non valida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "L'espressione %s non è valida. Errore: %s" @@ -3604,19 +3612,24 @@ msgstr "" "<br/>Se non se ne possiede uno, è possibile <a " "href='http://www.librarything.com'>registrarsi</a> gratuitamente!</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Impossibile scaricare la copertina</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Impossibile scaricare la copertina" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Impossibile scaricare la copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Impossibile scaricare la copertina</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "È necessario specificare il codice ISBN di questo libro" @@ -3704,7 +3717,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Cerca" @@ -3752,74 +3765,66 @@ msgstr "È necessario inserire le informazioni dell'account" msgid "This recipe requires a username and password" msgstr "Questa formula richiede nome utente e password" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Creato da: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Ultimo scaricamento: mai" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Programmare lo scaricamento delle notizie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Aggiungi una fonte di notizie personalizzata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Notizie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Formule" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Programma per lo scaricamento" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "titolo" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "descrizione" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "autore" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3827,26 +3832,26 @@ msgstr "" "Intervallo a cui scaricaricare questa formula. Il valore zero significa che " "la formula verrà scaricata ogni ora." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " giorni" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Account" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" "Perché la programmazione funzioni, calibre deve essere in esecuzione." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Scarica ora" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3854,7 +3859,7 @@ msgstr "" "Cancella le notizie più vecchie del numero di giorni specificato. Impostare " "a zero per disabilitare." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Elimina le notizie scaricate più vecchie di " @@ -4386,7 +4391,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Nessuna corrispondenza</b> trovata per la frase <i>%s</i>" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Nessuna corrispondenza trovata" @@ -4841,7 +4846,15 @@ msgstr "" "href=\"%s\">DRM</a>. È necessario rimuovere prima il DRM usando programmi di " "terze parti." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4849,22 +4862,22 @@ msgstr "" "è il risultato degli sforzi di tanti volontari da tutto il mondo. Se lo " "trovi utile, puoi fare una donazione per supportare il suo sviluppo." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 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:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "ATTENZIONE: Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." @@ -4872,7 +4885,7 @@ msgstr "" "continuerà a lavorare nel vassoio di sistema. Per chiuderlo, selezionare " "<b>Esci</b> nel menu contestuale del vassoio di sistema." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4880,7 +4893,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Ultima versione: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4890,19 +4903,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nuove " "funzionalità</a>. Una visita alla pagina del download?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Aggiornamento disponibile" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 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:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "Invia le informazioni di debug alla console" @@ -5239,77 +5252,77 @@ msgstr "Il tipo di carattere predefinito" msgid "Go to..." msgstr "Vai a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Posizione nel libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Sconosciuto" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Vai a un riferimento. Per ottenere i numeri di riferimento, usare la " "modalità riferimento." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Cerca del testo nel libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Scelta libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "Libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Aggiungi segnalibro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Inserire il titolo per il segnalibro:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Nessuna corrispondenza trovata per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Caricamento..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Impaginazione %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Caricamento libro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Questo libro è protetto da <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Errore DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Impossibile aprire il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 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:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5760,21 +5773,21 @@ msgstr "" "\n" "Per aiuto su un comando particolare: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Sto copiando i libri in %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Sto copiando <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" "<p>Sto migrando il vecchio database nella nuova biblioteca in %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Compattazione database" @@ -5783,7 +5796,7 @@ msgid "Password to access your calibre library. Username is " msgstr "" "Password per accedere alla propria biblioteca di calibre. Il nome utente è " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6169,6 +6182,7 @@ msgstr "Scaricamento feed" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6199,9 +6213,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6217,7 +6233,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6228,11 +6244,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6261,6 +6279,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6268,6 +6287,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6281,7 +6301,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6296,6 +6316,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -6387,6 +6408,9 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "Help on item" #~ msgstr "Aiuto per l'elemento" +#~ msgid "Could not fetch cover" +#~ msgstr "Impossibile scaricare la copertina" + #~ msgid "Author" #~ msgstr "Autore" @@ -6585,6 +6609,15 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ "Se viene rilevato un numero di capitoli inferiore a questo numero, i link " #~ "verranno aggiunti al sommario." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normalmente, se il file di origine ha già un sommario, verrà usato questo al " +#~ "posto di quello autorilevato. Con questa opzione, verrà usato il sommario " +#~ "autorilevato." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -6697,6 +6730,12 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "Last downloaded: %s days ago" #~ msgstr "Ultimo scaricamento: %s giorni fa" +#~ msgid "title" +#~ msgstr "titolo" + +#~ msgid "description" +#~ msgstr "descrizione" + #~ msgid "&Schedule for download every:" #~ msgstr "&Programma per lo scaricamento ogni:" @@ -6716,6 +6755,9 @@ msgstr "Mostra un output dettagliato. Utile per il debugging" #~ msgid "Disable system tray icon" #~ msgstr "Disabilita l'icona nel vassoio di sistema" +#~ msgid "author" +#~ msgstr "autore" + #~ msgid "The maximum size for displayed covers" #~ msgstr "La dimensione massima per le copertine visualizzate" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index fe9ed41179..02d98dffc7 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-01-07 18:22+0000\n" "Last-Translator: Kovid Goyal <Unknown>\n" "Language-Team: Norwegian Bokmal <nb@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Ukjent" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Lesebrettet har ikke et lagringskort tilknyttet seg." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -424,11 +424,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Bruk alltid automatisk oppdaget innholdsregister, fremfor innholdsregisteret " -"i kildefilen." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -510,7 +508,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -521,14 +519,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -547,88 +545,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -644,29 +642,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [opsjoner] LITFIL" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Lagringskatalog. Standard er nåværende katalog" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Uthentet markup fra lesbart format. Dette kan medføre at mellomrom, " "tabulatorer og linjeskift blir modifisert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Praktisk for feilsøking." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB bok opprettet i" @@ -1039,75 +1037,81 @@ msgstr "" msgid "No file to convert specified." msgstr "Ingen fil angitt for konvertering" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Gjengitt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Ikke foreta skjerping av bilder" -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1116,13 +1120,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1130,14 +1134,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1146,26 +1150,26 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Ikke vis fremskrittssøyle." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Utdata blir skrevet til" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Prosesserer tegneserie sider..." @@ -1216,56 +1220,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer fil oppdaget." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tProsesserer HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 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:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Skrevet førbehandlet HTML til " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Behandler %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tKonverterer til BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Kunne ikke analysere fil: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 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:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1273,14 +1277,14 @@ msgstr "" "Behandlingen av bildet feilet: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1288,29 +1292,29 @@ msgstr "" "Dårlig tabell:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Kan ikke lese fra: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Behandlingen av opf filen feilet" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1367,11 +1371,11 @@ msgstr "Oppretter XML..." msgid "LRS written to " msgstr "LRS skrevet til " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Kunne ikke lese fra thumbnail fil:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1379,16 +1383,16 @@ msgstr "" "%prog [opsjoner] fil.lrs\n" "Kompilerer en LRS fil til en LRS fil." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Filsti til utfil" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Informativ behandling" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Konverter LRS til LRS, praktisk for feilsøking." @@ -1701,11 +1705,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Bruksmåte: %s fil.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1738,11 +1742,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -2096,7 +2100,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2133,56 +2137,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2213,89 +2221,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2489,13 +2497,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2507,7 +2515,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2669,6 +2677,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2680,39 +2689,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3399,19 +3408,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3496,7 +3510,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3544,104 +3558,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4131,7 +4137,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4556,59 +4562,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4933,75 +4947,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5352,20 +5366,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5373,7 +5387,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5699,6 +5713,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5729,9 +5744,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5747,7 +5764,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5758,11 +5775,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5791,6 +5810,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5798,6 +5818,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5811,7 +5832,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5826,6 +5847,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -5927,3 +5949,11 @@ msgstr "" #~ "%prog [opsjoner] tegneserie.cb[z|r]\n" #~ "\n" #~ "Konverterer en tegneserie i CBZ eller CBR formatet til en LRF digitalbok. \n" + +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Bruk alltid automatisk oppdaget innholdsregister, fremfor innholdsregisteret " +#~ "i kildefilen." diff --git a/src/calibre/translations/nds.po b/src/calibre/translations/nds.po index 1d9b2ca68d..326c9dd3f1 100644 --- a/src/calibre/translations/nds.po +++ b/src/calibre/translations/nds.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-03-03 17:38+0000\n" -"Last-Translator: Kovid Goyal <Unknown>\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 22:36+0000\n" +"Last-Translator: S. Dorscht <Unknown>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -26,15 +26,15 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -60,7 +60,7 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -71,8 +71,8 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -87,16 +87,16 @@ msgstr "Macht gar nix" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Unbekannt" @@ -232,17 +232,17 @@ msgstr "Gewähltes Plugin ausschalten" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Im Reader ist keine Speicherkarte eingesteckt." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Nicht genügend freier Speicherplatz auf der Speicherkarte" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Nicht genügend freier Spreicherplatz im Hauptspeicher" @@ -465,12 +465,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normalerweise wird, falls die Ursprungsdatei schon ein Inhaltsverzeichnis " -"enthält, dieses anstelle des automatisch erkannten verwendet. Mit dieser " -"Option wird immer das automatisch erkannte Inhaltsverzeichnis verwendet." +"Normalerweise wird - soweit vorhanden - das Inhaltsverzeichnis der " +"Ursprungsdatei verwendet anstatt des automatisch erstellten. Mit dieser " +"Einstellung wird immer das automatisch erstellte verwendet." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -575,7 +575,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -593,14 +593,14 @@ msgstr "" "Verknüpfungen aus dem\n" "<spine> Element der OPF Datei verwendet. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Ausgabe geschrieben nach " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Geben Sie eine Eingabedatei im HTML Format an." @@ -623,26 +623,26 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Verarbeitetes HTML wurde geschrieben in " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 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:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -650,11 +650,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -662,7 +662,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -671,39 +671,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 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:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 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:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "Autor(en) des eBooks, als eine durch & getrennte Liste." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Geben Sie den Herausgeber dieses Buches an." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Inhaltsübersicht dieses Buches." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 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:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Hilfreiche Einstellungen zur Fehlersuche" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -711,13 +711,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -742,29 +742,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Erstelle LIT Datei aus EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Ausgabeverzeichnis. Voreinstellung ist aktuelles Verzeichnis." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Lesbares Format der extrahierten Textauszeichnung. Könnte sinnvolle " "Freiräume abändern." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Hilfreich bei der Fehlersuche." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB eBook erstellt in" @@ -1163,15 +1163,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Keine Datei zur Konvertierung angegeben." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "%s gerendert." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "%s schlug fehl" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1181,26 +1181,26 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1208,34 +1208,42 @@ msgstr "" "Pfad zur Ausgabedatei. Die Datei wird im aktuellen Verzeichnis erstellt " "(Voreinstellung)." -#: /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 "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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Schärfen deaktivieren." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" +"Beschneiden von Comic-Seiten ausschalten. Bei einigen Comics könnte sonst " +"neben dem Rahmen auch Inhalt entfernt werden." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1243,7 +1251,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1251,7 +1259,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1259,7 +1267,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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1268,7 +1276,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1279,7 +1287,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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1288,15 +1296,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Fortschrittsbalken nicht anzeigen." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Auf das Bild keine Verarbeitung anwenden" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1306,11 +1314,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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Ausgabe gespeichert unter" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Rendere Seiten des Comics..." @@ -1360,56 +1368,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer Datei erkannt." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalysiere HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen Datei erkannt. Analysiere erneut..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Vorverarbeitetes HTML gespeichert unter " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Verarbeite %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tKonvertiere in BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Konnte Datei nicht analysieren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s ist eine leere Datei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1417,14 +1425,14 @@ msgstr "" "Konnte Bild nicht verarbeiten: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1432,11 +1440,11 @@ msgstr "" "Schlechte Tabelle:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1444,19 +1452,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Lesen nicht möglich von: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1515,11 +1523,11 @@ msgstr "Erstelle XML..." msgid "LRS written to " msgstr "LRS gespeichert in " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Thumbnail Datei konnte nicht gelesen werden:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1527,16 +1535,16 @@ msgstr "" "%prog [options] datei.lrs\n" "Erstellt eine LRF Datei aus einer LRS Datei." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Pfad zur Zieldatei" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Ausführlicher fortfahren" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Konvertierung von LRS zu LRS, hilfreich bei der Fehlersuche." @@ -1890,11 +1898,11 @@ msgstr "" "Umschlagbild des Buches mit der angegebenen ISBN von LibraryThing.com " "abrufen\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Benutzung: %s dateiname.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Umschlagbild gespeichert unter" @@ -1927,11 +1935,11 @@ msgstr "Benutzung: rb-meta file.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Erstelle Mobipocket Datei aus EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] dateiname.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Original MOBI HTML gespeichert in" @@ -2312,7 +2320,7 @@ msgid "Formats" msgstr "Formate" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2350,56 +2358,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "Einstellungen für das Konvertieren %s setzen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titel:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(en):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "A&nzahl der Farben:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "&Normalisieren deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Verhältnis &beibehalten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "&Schärfen deaktivieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Querformat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nicht so&rtieren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Von &rechts nach links" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ent&körnung" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Weite" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "Beschneiden ausschal&ten" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " Plugins" @@ -2432,92 +2444,92 @@ msgstr "" msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Kein gültiger Plugin Pfad" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 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:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Plugin wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Plugin kann nicht ausgeschaltet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 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:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Plugin nicht anpassbar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Plugin: %s bedarf keines Anpassens" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Anpassen von %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Kann festinstalliertes Plugin nicht entfernen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 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:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Fehler Log:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Zugriffs-Protokolldatei:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Content Server konnte nicht gestartet werden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Ungültige Größe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 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:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Ortsangabe der Datenbank ungültig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Muss ein Verzeichnis sein." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Ortsangabe der Datenbank ungültig " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Ortsangabe der Datenbank ungültig.<br>Speichern nicht möglich " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Komprimiere Datenbank..." @@ -2727,13 +2739,13 @@ msgstr "Server &Port:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Ben&utzername:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Passwort:" @@ -2747,7 +2759,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "Pa&sswort anzeigen" @@ -2924,6 +2936,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2935,41 +2948,41 @@ msgstr "Fehler beim Lesen der Datei" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Es trat ein Fehler beim Lesen dieser Datei auf: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " ist kein gültiges Bild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Konvertierung nicht möglich" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Dieses Buch hat keine Formate verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Keine verfügbaren Formate" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Kann %s nicht konvertieren, da dieses Buch nicht den bekannten Formaten " "entspricht" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Format wählen, in das konvertiert werden soll " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Ungültiger XPath Ausdruck" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "Der Ausdruck %s ist ungültig. Fehler: %s" @@ -3714,19 +3727,24 @@ msgstr "" "<b>LibraryThing.com</b> an. <br/>Insofern Sie dies nicht besitzen, können " "Sie sich kostenlos <a href='http://www.librarything.com'>anmelden</a>! </p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Konnte kein Umschlagbild abrufen.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "Falsches Umschlagbild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Konnte kein Umschlagbild abrufen" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "Das Umschlagbild ist kein gültiges Bild" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Kann kein Umschlagbild abrufen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Konnte kein Umschlagbild abrufen.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Sie müssen die ISBN für dieses Buch angeben." @@ -3814,7 +3832,7 @@ msgid "Scheduled" msgstr "Geplant" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Suche" @@ -3862,74 +3880,66 @@ msgstr "Account-Informationen müssen angegeben werden" msgid "This recipe requires a username and password" msgstr "Dieses Rezept erfordert einen Benutzernamen und ein Kennwort" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Erstellt von: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "Vor %d Tagen, %d Stunden und %d Minuten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "Zuletzt geladen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Zuletzt geladen: niemals" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Zeitgesteuerter Nachrichten Download" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Neue individuelle Nachrichtenquelle hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Nachrichten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Rezepte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Zeitplanung des Downloads" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "Titel" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "Klappentext" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "Beschreibung" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "Autor" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "Zeit&plan zum Laden:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "Jeden " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "um" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3937,25 +3947,25 @@ msgstr "" "Intervall, nach dem dieses Rezept geladen werden soll. Der Wert 0 hat einen " "stündlich wiederkehrenden Download zur Folge." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " Tage" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Account" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "Damit der Zeitplan funktioniert, muss calibre gestartet bleiben." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Jetzt laden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3963,7 +3973,7 @@ msgstr "" "Geladene Nachrichten löschen, die älter als die angegebene Zahl von Tagen " "sind. Zum Ausschalten auf den Wert 0 setzen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Geladene Nachrichten löschen, die älter sind als " @@ -4505,7 +4515,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Keine Treffer</b> für die Suchworte <i>%s</i> gefunden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Keine Treffer gefunden" @@ -4968,7 +4978,15 @@ msgstr "" "href=\"%s\">DRM</a> geschützt. Sie müssen zunächst das DRM mit einem anderen " "Programm entfernen." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "Ungültiger Ort der Bibliothek" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "Konnte nicht auf %s zugreifen. Verwende %s als Bibliothek." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4977,12 +4995,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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 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:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" @@ -4992,11 +5010,11 @@ msgstr "" " 'Das Beenden könnte das Gerät beschädigen.<br>\n" " 'Wirklich beenden?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "WARNUNG: Aktive Aufträge" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." @@ -5004,7 +5022,7 @@ msgstr "" "wird im System Tray weiter laufen. Zum Schließen wählen Sie <b>Beenden</b> " "im Kontextmenü des System Tray." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -5012,7 +5030,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Letzte Version: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -5022,19 +5040,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">neuen Features</a> an. " "Möchten Sie die Download Seite besuchen?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Neue Version verfügbar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 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:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "Minimiert im Systembereich der Kontrollleiste starten." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "Informationen zur Fehlersuche in Konsole aufzeichnen" @@ -5375,77 +5393,77 @@ msgstr "Standardschriftart" msgid "Go to..." msgstr "Gehe zu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Stelle im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Unbekannt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" "Zu einem Verweis gehen. Um die Verweisnummern zu erhalten, Verweismodus " "verwenden." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Suche nach Text im Buch" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "eBook wählen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "eBooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Lesezeichen hinzufügen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Titel für Lesezeichen eingeben:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Keine Treffer gefunden für: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Lade Ablauf..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Lege %s an" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Lade eBook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Dieses Buch ist geschützt durch <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "DRM Fehler" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Konnte eBook nicht öffnen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "Einstellungen zur Kontrolle des eBook Viewers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5903,20 +5921,20 @@ msgstr "" "\n" "Sie erhalten Hilfe zu einem bestimmten Befehl mit: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Kopiere Bücher nach %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Kopiere <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "<p>Migriere alte Datenbank zu eBook Bibliothek in %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Komprimiere Datenbank" @@ -5925,7 +5943,7 @@ msgid "Password to access your calibre library. Username is " msgstr "" "Kennwort für den Zugriff auf die calibre Bibliothek. Benutzername ist " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6312,6 +6330,7 @@ msgstr "Rufe Feed ab" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6342,9 +6361,11 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6360,7 +6381,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6371,11 +6392,13 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6404,6 +6427,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6411,6 +6435,7 @@ msgstr "Spanisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6424,7 +6449,7 @@ msgstr "Englisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6439,6 +6464,7 @@ msgstr "Serbisch" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "Französisch" @@ -6578,6 +6604,9 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Help on item" #~ msgstr "Hilfe für das jeweilige Objekt" +#~ msgid "Could not fetch cover" +#~ msgstr "Konnte kein Umschlagbild abrufen" + #~ msgid "Author" #~ msgstr "Autor" @@ -7035,6 +7064,15 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ "Falls weniger Kapitel erkannt werden als in dieser Zahl angegeben, dann " #~ "werden Verknüpfungen zum Inhaltsverzeichnis hinzugefügt." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normalerweise wird, falls die Ursprungsdatei schon ein Inhaltsverzeichnis " +#~ "enthält, dieses anstelle des automatisch erkannten verwendet. Mit dieser " +#~ "Option wird immer das automatisch erkannte Inhaltsverzeichnis verwendet." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -7136,6 +7174,12 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Last downloaded: %s days ago" #~ msgstr "Zuletzt geladen: vor %s Tagen" +#~ msgid "title" +#~ msgstr "Titel" + +#~ msgid "description" +#~ msgstr "Beschreibung" + #~ msgid "&Schedule for download every:" #~ msgstr "Ge&planter Download jeden:" @@ -7154,6 +7198,9 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche." #~ msgid "Disable system tray icon" #~ msgstr "System Tray Icon ausschalten" +#~ msgid "author" +#~ msgstr "Autor" + #~ msgid "The maximum size for displayed covers" #~ msgstr "Maximale Größe für angezeigte Covers" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index d5e925d7c6..73c4c83902 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-02-23 21:54+0000\n" "Last-Translator: Anne-Sophie Cauwe <Unknown>\n" "Language-Team: Dutch <nl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Doet absoluut niets." #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Doet absoluut niets." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Doet absoluut niets." #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Doet absoluut niets." #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Onbekend" @@ -223,17 +223,17 @@ msgstr "Desactiveer de genoemde plugin" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Er is geen geheugen kaart verbonden met de reader." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Er is onvoldoende vrije plaats op de geheugenkaart" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -396,8 +396,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -487,7 +487,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -498,14 +498,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Een bron HTML bestand is nodig" @@ -524,24 +524,24 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Schrijf verwerkte HTML naar " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Opties voor de verwerking van HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -549,11 +549,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -561,7 +561,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -570,39 +570,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Metadata van het gegenereerde eboek" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Titel. Standaard is auto-detect." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Opties handig voor debuggen" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -610,12 +610,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -631,29 +631,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [opties] LITBESTAND" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Output folder. Standaard is dit de huidige folder." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Formatteer de markup in leesbaar formaat. Zinvolle witruimte kan hierdoor " "gewijzigd worden." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Handig voor Debugging" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB boek bemaakt in" @@ -1034,70 +1034,76 @@ msgstr "" 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:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Gegenereerd %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Mislukt %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Geen aanscherpen." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1105,7 +1111,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1113,7 +1119,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1121,7 +1127,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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1129,14 +1135,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1145,26 +1151,26 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Laat geen vootgangsbalk zien" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Uitvoer weggeschreven naar" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Generatie comic bladzijden..." @@ -1214,56 +1220,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer bestand herkend." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tLezen HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen bestand herkend. Her-lezen..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Schrijf pre-info HTML naar " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Verwerking %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tConveteer naar BBEB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Kan bestand niet parseren: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s is een leeg bestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1271,14 +1277,14 @@ msgstr "" "Niet mogelijk om afbeelding %s te verwerken\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1286,11 +1292,11 @@ msgstr "" "Foutieve tabel:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1298,19 +1304,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Kan niet lezen van: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1368,11 +1374,11 @@ msgstr "Creatie XML" msgid "LRS written to " msgstr "LRS geschreven naar " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Kan pictogram niet inlezen:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1380,16 +1386,16 @@ msgstr "" "%prog [opties] bestand.lrs\n" "Compileer een LRS bestand naar LRF formaat." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Pad naar doel bestand" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "uitgebreide verwerking" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "converteer LRS naar LRF, handig om fouten op te sporen." @@ -1737,11 +1743,11 @@ msgstr "" "Download een omslag afbeelding voor het boek geidentificeerd door ISBN via " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Gebruik: %s bestand.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "omslag weggeschreven naar" @@ -1774,11 +1780,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [opties] mijnboek.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "RAW MOBI HTML bewaard in" @@ -2136,7 +2142,7 @@ msgid "Formats" msgstr "Formaten" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2173,56 +2179,60 @@ msgstr "Zet standaarden voor conversie van comics (CBR/CBZ bestanden)" msgid "Set options for converting %s" msgstr "Zet opties voor conversie %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Titel:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Auteur(s)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Aantal &Kleuren:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profiel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Schakel &normalisatie uit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "&Aspectverhouding behouden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Schakel ver&scherping uit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Landscape" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Niet so&rteren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Rechts naar links" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Ont&spikkel" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Wijd" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2253,89 +2263,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Foutieve database locatie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Moet een folder zijn." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Foutieve database locatie " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Foutieve database locatie.<br>Kan niet schrijven naar " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Comprimeren..." @@ -2533,13 +2543,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Gebr&uikersnaam:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "W&achtwoord:" @@ -2551,7 +2561,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Geef wachtwoord weer" @@ -2713,6 +2723,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2724,40 +2735,40 @@ msgstr "Fout bij het lezen van bestand" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Er is een fout opgetreden bij het lezen van bestand: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " is geen geldige afbeelding" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Kan niet converteren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Geen beschikbare formaten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Kan %s niet converteren aangezien dit boek geen ondersteunde formaten bevat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3474,19 +3485,24 @@ msgstr "" "<br/>Als u deze niet heeft, dan kunt u er gratis een krijgen door te <a " "href='http://www.librarything.com'>registreren</a></p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Omslag kon niet worden gedownload</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Omslag kon niet worden gedownload" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Kan omslag niet downloaden" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Omslag kon niet worden gedownload</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Het ISBN nummer voor dit boek moet worden opgegeven." @@ -3573,7 +3589,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3621,104 +3637,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Voeg een persoonlijke nieuwsbron toe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Recepten" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " dagen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4233,7 +4241,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Geen Resultaten</b> voor de zoekterm <i>%s</i> gevonden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Geen resultaten gevonden" @@ -4684,34 +4692,42 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4719,7 +4735,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Laatste versie: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4729,19 +4745,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">nieuwe functies</a> " "Bezoek download pagina?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Update beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -5076,75 +5092,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5565,20 +5581,20 @@ msgstr "" "\n" "Voor help met een specifiek commando: %%prog command --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Copieer <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "<p>Migreer oude database naar eboek bibliotheek in %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Comprimeren database" @@ -5586,7 +5602,7 @@ msgstr "Comprimeren database" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5964,6 +5980,7 @@ msgstr "Downloading feed" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5994,9 +6011,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6012,7 +6031,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6023,11 +6042,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6056,6 +6077,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6063,6 +6085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6076,7 +6099,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6091,6 +6114,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -6227,6 +6251,9 @@ msgstr "" #~ msgid "Help on item" #~ msgstr "Help voor onderdeel" +#~ msgid "Could not fetch cover" +#~ msgstr "Omslag kon niet worden gedownload" + #~ msgid "Author" #~ msgstr "Auteur" diff --git a/src/calibre/translations/pl.po b/src/calibre/translations/pl.po index 9f09ccef4d..570864668c 100644 --- a/src/calibre/translations/pl.po +++ b/src/calibre/translations/pl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-01-30 09:03+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-11 01:37+0000\n" "Last-Translator: Andrzej MoST (Marcin Ostajewski) <Unknown>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Ta opcja nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Ta opcja nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Ta opcja nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Ta opcja nic nie zmienia" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Nieznany" @@ -159,7 +159,7 @@ msgstr "Odczyt metadanych z e-booków w archiwach RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:227 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:237 msgid "Set metadata in %s files" -msgstr "" +msgstr "Ustaw metadane w %s plikach" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 msgid "Installed plugins" @@ -228,17 +228,17 @@ msgstr "Wyłącz wtyczkę" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Brak karty pamięci w czytniku." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Na karcie pamięci jest niewystarczająca ilość wolnego miejsca" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Niewystarczająca ilość wolnej pamięci głównej" @@ -436,12 +436,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Zwykle, jeśli plik źródłowy zawiera już spis treści (TOC), jest on " -"preferowany w stosunku do wygenerowanego automatycznie. Ta opcja wymusza " -"użycie spisu automatycznego." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -481,7 +478,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:221 msgid "Do not force text to be justified in output." -msgstr "" +msgstr "Nie wymuszaj wyjustowania tekstu w pliku wynikowym." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:223 msgid "" @@ -533,7 +530,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -550,14 +547,14 @@ msgstr "" "Jeśli wybierzesz plik OPF zamiast pliku HTML, lista odnośników będzie brana " "z elementu <spine> w pliku OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Plik wyjściowy zapisany w " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Musisz podać wejściowy plik HTML" @@ -580,25 +577,25 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Zapisz przekształcony HTML w " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Opcje do kontroli traversal w HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -606,11 +603,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -618,7 +615,7 @@ 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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -627,39 +624,39 @@ msgstr "" "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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Ustaw metadane w wygenerowanym e-booku." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 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:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Ustaw wydawcę tej książki" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Podsumowanie tej książki." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "Wczytaj metadane ze wskazanego pliku OPF" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Opcje przydatne do diagnostyki" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -667,11 +664,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -687,29 +684,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Stwórz plik LIT z pliku EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [opcje] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Folder docelowy. Domyślnie to aktualny folder." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Czytelny format znaczników eksploatacyjnych. Mogą modyfikować białą " "przestrzeń" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Użyteczne dla debugowania." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB ebook stworzony w" @@ -1051,15 +1048,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Nie wybrano pliku do konwersji." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Wykonane %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Nieudane %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1069,54 +1066,60 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 msgid "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." msgstr "Wyłącz wyostrzanie" -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1124,32 +1127,32 @@ msgstr "" "Zachowaj format i skalę obrazu używając wysokości ekranu jako szerokość " "obrazu podczas wyświetlania w trybie panoramicznym." -#: /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:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1158,15 +1161,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Nie pokazuj paska postępu." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1176,11 +1179,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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Plik wyjściowy zapisany do" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Przetwarzanie stron komiksu..." @@ -1216,7 +1219,7 @@ msgstr "Wydrukuj wygenerowany HTML do wyjścia standardowego i zamknij." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:30 msgid "Keep generated HTML files after completing conversion to LRF." -msgstr "" +msgstr "Zachowaj wygenerowany plik HTML po konwersji do LRF." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 msgid "Options to control the behavior of feeds2disk" @@ -1230,56 +1233,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\twykryto plik Book Designer." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tAnalizowanie HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tWykryto plik Baen. Ponowna analiza..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Zapisano wstępnie przetworziny HTML do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Przetwarzanie %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tKonwersja do BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 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:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s jest pustym plikiem" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1287,12 +1290,12 @@ msgstr "" "Nie można przetworzyć obrazu: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1300,29 +1303,29 @@ msgstr "" "Nieprawidłowy spis:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Nie można odczytać z: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 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:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1367,11 +1370,11 @@ msgstr "tworzenie XML..." msgid "LRS written to " msgstr "Plik LRS zapisany do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Nie można przeczytać z pliku miniaturki:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1379,16 +1382,16 @@ msgstr "" "%prog [opcje] file.lrs\n" "Skompiluj plik LRS do pliku LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Ścieżka do pliku wyjściowego" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Szczegółowe komunikaty w czasie pracy" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Konwersja LRS do LRS, opcja przydatna przy debugowaniu." @@ -1450,7 +1453,7 @@ msgstr "Wypakuj miniaturkę z pliku LRF" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:191 msgid "Set the publisher" -msgstr "" +msgstr "Ustaw wydawcę" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Set the book classification" @@ -1696,11 +1699,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Użycie: %s plik.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Okładka zapisana do" @@ -1715,7 +1718,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:193 msgid "Set the ISBN" -msgstr "" +msgstr "Ustaw ISBN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" @@ -1733,11 +1736,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -2094,7 +2097,7 @@ msgid "Formats" msgstr "Formaty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2131,56 +2134,60 @@ msgstr "Ustaw parametry domyślne konwersji komiksów (pliki CBR/CBZ)" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Tytuł:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(rzy):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Liczba kolorów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Wyłącz normalizację" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachowaj &proporcje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Wyłącz wyostrzanie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Pozioma" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Nie so&tuj" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Prawa do lewej" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " - wtyczki" @@ -2211,89 +2218,89 @@ msgstr "" msgid "Plugins" msgstr "Wtyczki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Niewłaściwa ścieżka do wtyczki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 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:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Wybierz wtyczkę" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Wtyczka nie może zostać wyłączona" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 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:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Ta wtyczki nie można dostosowywać" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Dostosuj %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Nie można usunąć wbudowanej wtyczki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Dziennik błędów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Dziennik dostępów:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Włączanie serwera zakończone niepowodzeniem" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Niewłaściwy rozmiar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Niewłaściwa lokalizacja bazy danych" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Musi być katalogiem." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Niewłaściwa lokalizacja bazy danych " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Niewłaściwa lokalizacja bazy danych.<br>Nie można zapisać do " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Kompaktowanie..." @@ -2493,13 +2500,13 @@ msgstr "&Port serwera" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Nazwa &użytkownika:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Hasło:" @@ -2511,7 +2518,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Pokaż hasło" @@ -2675,6 +2682,7 @@ msgid "You do not have permission to read the file: " msgstr "Nie masz uprawnień do odczytu pliku: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2686,39 +2694,39 @@ msgstr "Błąd przy odczycie pliku" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Nie można przekonwertować" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Ta książka nie ma dostepnych formatów" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3411,19 +3419,24 @@ msgstr "" "nie posiadasz jeszcze konta, możesz się <a " "href='http://www.librarything.com'>zarejestrować</a> za darmo!.</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Nie można pobrać okładki.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Nie można pobrać okładki" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Nie można pobrać okładki" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Nie można pobrać okładki.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3509,7 +3522,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Szukaj" @@ -3557,99 +3570,91 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Stworzone przez: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Ostatnio pobrano: nigdy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Zaplanuj pobieranie aktualności" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Dodaj własne źródło aktualności" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Aktualności" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Źródła" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Planowanie pobierania" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "tytuł" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "opis" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "autor" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " dni" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Konto" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 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:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Pobierz teraz" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3657,7 +3662,7 @@ msgstr "" "Usuń pobrane aktualności starsze niż podana liczba dni. Ustaw zero, aby " "wyłączyć usuwanie." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Usuń pobrane aktualności starsze niż " @@ -4152,7 +4157,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Brak pasujących wyników" @@ -4589,40 +4594,48 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4632,19 +4645,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">listę zmian i " "poprawek</a>. Otworzyć stronę pobierania?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Aktualizacja dostępna" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4971,75 +4984,75 @@ msgstr "" msgid "Go to..." msgstr "Przejście do..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Szukanie tekstu w książce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Wybierz e-book" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "E-booki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Dodaj zakładkę" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Dodaj tytuł zakładki" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "<p>Ta książka jest chroniona przez <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Błąd DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Nie można otworzyć e-booka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5396,20 +5409,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Kopiowanie książek do %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Kopiowanie <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Kompaktowanie bazy danych" @@ -5417,7 +5430,7 @@ msgstr "Kompaktowanie bazy danych" msgid "Password to access your calibre library. Username is " msgstr "Hasło do biblioteki calibre. Nazwa użytkownika to " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5749,6 +5762,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5779,9 +5793,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5797,7 +5813,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5808,11 +5824,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5841,6 +5859,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5848,6 +5867,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5861,7 +5881,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5876,6 +5896,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -5960,6 +5981,9 @@ msgstr "" #~ msgid "Options" #~ msgstr "Ustawienia" +#~ msgid "Could not fetch cover" +#~ msgstr "Nie można pobrać okładki" + #~ msgid "Library" #~ msgstr "Biblioteka" @@ -5998,6 +6022,15 @@ msgstr "" #~ "Jeśli plik OPF jest wyszczególniony, lista plików w jego elemencie <spine> " #~ "jest używana.\n" +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Zwykle, jeśli plik źródłowy zawiera już spis treści (TOC), jest on " +#~ "preferowany w stosunku do wygenerowanego automatycznie. Ta opcja wymusza " +#~ "użycie spisu automatycznego." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -6024,12 +6057,21 @@ msgstr "" #~ msgid "Last downloaded: %s days ago" #~ msgstr "Ostatnio pobrano: %s dni temu" +#~ msgid "title" +#~ msgstr "tytuł" + +#~ msgid "description" +#~ msgstr "opis" + #~ msgid "&Schedule for download every:" #~ msgstr "&Zaplanuj pobieranie co:" #~ msgid "&Donate" #~ msgstr "&Wesprzyj" +#~ msgid "author" +#~ msgstr "autor" + #~ msgid "The maximum size for displayed covers" #~ msgstr "Maksymalny rozmiar wyświetlanych okładek" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index f5dfb13c32..464a19b275 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" -"PO-Revision-Date: 2009-01-17 16:31+0000\n" -"Last-Translator: ricdiogo <ricardofdiogo@gmail.com>\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" +"PO-Revision-Date: 2009-03-13 23:07+0000\n" +"Last-Translator: ritibelle <Unknown>\n" "Language-Team: Portuguese <pt@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,23 +86,23 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Desconhecido" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:62 msgid "Base" -msgstr "Base" +msgstr "Padrão" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:148 msgid "File type" @@ -122,9 +122,9 @@ msgid "" "linked files. This plugin is run every time you add an HTML file to the " "library." msgstr "" -"Siga todas as ligações locais num ficheiro HTML e crie um ficheiro ZIP " -"contendo todos os ficheiros para os quais são feitas ligações. Este plugin " -"corre cada vez que você acrescenta um ficheiro HTML à bilbioteca." +"Segue todas as ligações locais num ficheiro HTML e cria um ficheiro ZIP " +"contendo todos os ficheiros ligados. Este extra corre cada vez que se " +"adiciona um ficheiro HTML à bilbioteca." #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:43 @@ -140,30 +140,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:146 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:156 msgid "Read metadata from %s files" -msgstr "Ler metadados dos ficheiros %s" +msgstr "Lê os metadados dos ficheiros %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:166 msgid "Extract cover from comic files" -msgstr "Extrair a capa de ficheiros de banda desenhada" +msgstr "Extrai a capa de ficheiros de banda desenhada" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:186 msgid "Read metadata from ebooks in ZIP archives" -msgstr "Ler metadados dos ebooks em arquivos ZIP" +msgstr "Lê os metadados dos arquivos ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:196 msgid "Read metadata from ebooks in RAR archives" -msgstr "" +msgstr "Lê os metadados dos arquivos RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:207 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:217 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:227 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:237 msgid "Set metadata in %s files" -msgstr "" +msgstr "Define os metadados dos ficheiros %s" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 msgid "Installed plugins" -msgstr "Plugins instalados" +msgstr "Extras instalados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 msgid "Mapping for filetype plugins" @@ -171,19 +171,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 msgid "Local plugin customization" -msgstr "Personalização de plugin local" +msgstr "Personalização de extra local" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 msgid "Disabled plugins" -msgstr "Plugins desactivados" +msgstr "Extras desactivados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:66 msgid "No valid plugin found in " -msgstr "Nenhum plugin válido encontrado em " +msgstr "Nenhum extra válido encontrado em " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:185 msgid "Initialization of plugin %s failed with traceback:" -msgstr "A inicialização do plugin %s falhou, deixando o seguinte relatório:" +msgstr "A inicialização do extra %s falhou, deixando o seguinte relatório:" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:262 msgid "" @@ -194,54 +194,53 @@ msgid "" msgstr "" " opções do %prog\n" " \n" -" Personalizar o Calibre carregando plugins externos.\n" +" Personalize o Calibre carregando extras externos.\n" " " #: /home/kovid/work/calibre/src/calibre/customize/ui.py:268 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -"Acrescentar um plugin especificando um caminho para o ficheiro zip que o " -"contém." +"Adicione um extra especificando um caminho para o ficheiro zip que o contém." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:270 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -"Remover um plugin predefenido pelo seu nome. Não tem qualquer efeito sobre " -"os plugins integrados" +"Remova um extra identificado pelo seu nome. Não tem qualquer efeito sobre os " +"extras integrados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:272 msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -"Personalizar plugin. Especifique o nome do plugin e uma expressão " +"Personalize o extra. Especifique o nome do extra e uma expressão " "identificadora, separados por uma vírgula." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:274 msgid "List all installed plugins" -msgstr "Listar todos os 'plugins' instalados" +msgstr "Listar todos os extras instalados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:276 msgid "Enable the named plugin" -msgstr "Activar o plugin mencionado" +msgstr "Activar o extra mencionado" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:278 msgid "Disable the named plugin" -msgstr "Desactivar o plugin mencionado" +msgstr "Desactivar o extra mencionado" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." -msgstr "O leitor não tem um cartão de armazenamento conectado." +msgstr "O leitor não tem nenhum cartão de memória ligado." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "O espaço livre no cartão de memória é insuficiente" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "O espaço livre na memória principal é insuficiente" @@ -263,8 +262,8 @@ msgid "" "The output EPUB file. If not specified, it is derived from the input file " "name." msgstr "" -"O arquivo de saída EPUB. Se não especificado, ele será herdado do nome do " -"arquivo aberto." +"O ficheiro de destino EPUB. Se não especificado, ele será derivado do nome " +"do ficheiro de origem." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:108 msgid "" @@ -272,22 +271,21 @@ msgid "" "device independent EPUB. The profile is used for device specific " "restrictions on the EPUB. Choices are: " msgstr "" -"Perfil do dispositivo para o qual este EPUB foi especificado. Selecione " -"Nenhum para criar um EPUB independente de quaiquer dispositivos. Este perfil " -"é usado para definir restrições específicas de cada dispositivo quanto ao " -"EPUB. As escolhas são: " +"Perfil do leitor para o qual este EPUB é destinado. Definir None para criar " +"um EPUB independente de qualquer leitor. Este perfil é usado para definir " +"restrições específicas a cada leitor no EPUB. As escolhas são: " #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:113 msgid "" "Either the path to a CSS stylesheet or raw CSS. This CSS will override any " "existing CSS declarations in the source files." msgstr "" -"O caminho para uma folha de estilos CSS ou CSS puro. Esta CSS vai reescrever " +"O caminho para uma folha de estilos CSS ou CSS puro. Esta CSS vai anular " "quaisquer indicações CSS existentes nos ficheiros de origem." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:117 msgid "Control auto-detection of document structure." -msgstr "Controlar a autodetecção da estrutura de um documento." +msgstr "Controlar a detecção automática da estrutura do documento." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:122 msgid "" @@ -303,13 +301,15 @@ msgid "" "help on using this feature.\n" msgstr "" "Uma expressão XPath para detectar os títulos dos capítulos. O padrão é " -"considerar as tags <h1> ou <h2> que contêm as palavras \"Capítulo\", " -"\"livro\", \"seção\" ou \"parte\" como títulos do capítulo bem como muitas " -"tags têm a class=\"Capítulo\".\n" -"A expressão usada deve calcular uma lista de elementos. Para desabilitar a " -"detecção de capítulos, use a expressão \"/\". Veja o tutorial do XPath no " -"manual do usuário do calibre para mais ajuda sobre como usar esta " -"característica.\n" +"considerar as etiquetas <h1> ou\n" +"<h2> que contêm as palavras \"chapter\", \"book\", \"section\" ou \"part\" " +"como títulos do capítulo \n" +"bem como as etiquetas que têm class=\"chapter\". \n" +"A expressão usada deve calcular uma lista de elementos. Para desactivar a " +"detecção de capítulos,\n" +"use a expressão \"/\". Veja o tutorial do XPath no Manual do Utilizador do " +"Calibre para mais\n" +"ajuda sobre como usar esta função.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:132 msgid "" @@ -318,27 +318,30 @@ msgid "" "chapters. A value of \"none\" will disable chapter marking and a value of " "\"both\" will use both page breaks and lines to mark chapters." msgstr "" -"Especifique como marcar capítulos detectados. Um valor \"pagebreak\" vai " +"Especifique como marcar os capítulos detectados. Um valor \"pagebreak\" vai " "inserir quebras de página antes dos capítulos. Um valor \"rule\" vai inserir " -"uma linha antes dos capítulos. Um valor \"none\" vai desabilitar a marcação " -"do capítulo e um valor \"both\" irá usar ambos quebra de página e linhas " -"para marcar capítulos." +"uma linha antes dos capítulos. Um valor \"none\" vai desactivar a marcação " +"de capítulos e um valor \"both\" irá usar tanto quebras de página como " +"linhas para marcar capítulos." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:139 msgid "Path to the cover to be used for this book" -msgstr "Caminho para a capa a ser usada por este livro" +msgstr "Caminho para a capa a ser usada para este livro" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:142 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." -msgstr "Usa a capa detectada no ficheiro-fonte em vez da capa especificada." +msgstr "" +"Usar a capa detectada no ficheiro de origem em vez da capa especificada." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:145 msgid "" "Remove the first image from the input ebook. Useful if the first image in " "the source file is a cover and you are specifying an external cover." msgstr "" +"Remover a primeira imagem do livro de origem. Útil se a primeira imagem do " +"ficheiro de origem é a capa e se está a especificar uma capa externa." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:149 msgid "" @@ -348,12 +351,21 @@ msgid "" "if your source file contains a very large number of page breaks, you should " "turn off splitting on page breaks." msgstr "" +"Desligar a separação nas quebras de página. Normalmente os ficheiros de " +"origem são automaticamente separados nas quebras de página em dois " +"ficheiros. Isto faz com que o livro resultante seja analisado mais " +"rapidamente e com menos recursos. No entanto a separação é lenta e se o seu " +"ficheiro de origem tiver muitas quebras de página deve desligar a separação " +"nas quebras de página." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:157 msgid "" "XPath expression to detect page boundaries for building a custom pagination " "map, as used by AdobeDE. Default is not to build an explicit pagination map." msgstr "" +"Expressão XPath para detectar os limites da página e construir um mapa de " +"paginação personalizado, como o usado pelo AdobeDE. A predefinição é não " +"construir um mapa de paginação explícito." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:161 msgid "" @@ -361,6 +373,9 @@ msgid "" "relative to its boundary element. Default is to number all pages staring " "with 1." msgstr "" +"Expressão XPath para encontrar o nome de cada página no mapa de paginação " +"relativamente ao seu elemento de limite. A predefinição é numerar as páginas " +"começando por 1." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:165 msgid "" @@ -370,10 +385,10 @@ msgid "" "trying\n" "to auto-generate a Table of Contents.\n" msgstr "" -"Controle a criação automática de uma Tabela de Conteúdos. Se for detectado " +"Controlar a criação automática de uma Tabela de Conteúdos. Se for detectado " "um ficheiro OPF\n" -"que especifique uma Tabela de Conteúdos, esse ficheiro será utilizado em vez " -"de se tentar\n" +"e este especifique uma Tabela de Conteúdos, então esse ficheiro será " +"utilizado em vez de se tentar\n" "gerar automaticamente uma Tabela de Conteúdos.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:171 @@ -382,22 +397,23 @@ msgid "" "is: %default. Links are only added to the TOC if less than the --toc-" "threshold number of chapters were detected." msgstr "" -"Número máximo de ligações a inserir uma Tabela de Conteúdos. A predefinição " -"é: %default. As ligações apenas são acrescentadas à TdC se forem detectados " -"menos capítulos do que o limite." +"Número máximo de ligações a inserir numa Tabela de Conteúdos. Definir 0 para " +"desactivar. A predefinição é: %default. As ligações só serão adicionadas à " +"Tabela de Conteúdos se forem detectados menos capítulos do que olimite de " +"capítulos." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:175 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "" -"Não acrescentar à Tabela de Conteúdos capítulos detectados automaticamente." +"Não adicionar à Tabela de Conteúdos capítulos detectados automaticamente." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:177 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" msgstr "" -"Se forem detectados menos capítulos do que este número, as ligações são " -"acrescentadas à Tabela de Conteúdos. Predefinição: %default" +"Se forem detectados menos capítulos do que este número, as ligações serão " +"adicionadas à Tabela de Conteúdos. A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:180 msgid "" @@ -405,9 +421,9 @@ msgid "" "of Contents at level one. If this is specified, it takes precedence over " "other forms of auto-detection." msgstr "" -"Expressão XPath que especifica todas as etiquetas que devem ser " -"acrescentadas à Tabela de Conteúdos com o nível 1. Se isto for especificado, " -"assume prevalência sobre outras formas de auto-detecção." +"Expressão XPath que especifica todas as etiquetas que devem ser adicionadas " +"à Tabela de Conteúdos com o nível 1. Se isto for especificado assume " +"prevalência sobre outras formas de detecção automática." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:184 msgid "" @@ -415,9 +431,9 @@ msgid "" "of Contents at level two. Each entry is added under the previous level one " "entry." msgstr "" -"Expressão xPath que especifica todas as etiquetas que devem ser " -"acrescentadas à Tabela de Conteúdos com o nível 2. Cada entrada é " -"acrescentada abaixo da entrada antecedente com o nível 1." +"Expressão XPath que especifica todas as etiquetas que devem ser adicionadas " +"à Tabela de Conteúdos com o nível 2. Cada entrada é acrescentada abaixo da " +"entrada anterior com o nível 1." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:188 msgid "" @@ -425,6 +441,9 @@ msgid "" "of Contents at level three. Each entry is added under the previous level two " "entry." msgstr "" +"Expressão XPath que especifica todas as etiquetas que devem ser adicionadas " +"à Tabela de Conteúdos com o nível 3. Cada entrada é acrescentada abaixo da " +"entrada anterior com o nível 2." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:192 msgid "" @@ -433,20 +452,20 @@ msgid "" "placed in. See http://www.niso.org/workrooms/daisy/Z39-86-2005.html#NCX for " "an overview of the NCX format." msgstr "" -"Caminho para um ficheiro .ncx que contém a tabela de conteúdos a utilizar " -"neste ebook. O ficheiro NCX contém ligações relativas à directoria na qual é " +"Caminho para o ficheiro .ncx que contém a Tabela de Conteúdos a utilizar " +"neste livro. O ficheiro NCX deve conter ligações relativas à pasta na qual é " "colocado. Visite a página http://www.niso.org/workrooms/daisy/Z39-86-" "2005.html#NCX para ter uma visão geral sobre o formato NCX." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Normalmente, se o ficheiro de origem já tem uma Tabela de Conteúdos, ela é " -"usada preferencialmente, em vez de uma autodetectada. Com esta opção, a " -"autodetectada é sempre utilizada." +"Normalmente, se o ficheiro fonte já tem uma Tabela de Conteúdos esta é " +"utilizada em vez da gerada automaticamente. Com esta opção a gerada " +"automaticamente é sempre utilizada." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -454,25 +473,27 @@ msgstr "Controlar a aparência da página" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:204 msgid "Set the top margin in pts. Default is %default" -msgstr "Definir a margem superior em pontos. A predefinição é: %default" +msgstr "Definir a margem superior em pts. A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:206 msgid "Set the bottom margin in pts. Default is %default" -msgstr "Definir a margem inferior em pontos. A predefinição é: %default" +msgstr "Definir a margem inferior em pts. A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:208 msgid "Set the left margin in pts. Default is %default" -msgstr "Definir a margem esquerda em pontos. A predefinição é: %default" +msgstr "Definir a margem esquerda em pts. A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:210 msgid "Set the right margin in pts. Default is %default" -msgstr "Definir a margem direita em pontos. A predefinição é: %default" +msgstr "Definir a margem direita em pts. A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:212 msgid "" "The base font size in pts. Default is %defaultpt. Set to 0 to disable " "rescaling of fonts." msgstr "" +"Definir o tipo de letra padrão em pts. A predefinição é: %default. Definir 0 " +"para desactivar o redimensionamento do tipo de letra." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:215 msgid "" @@ -481,16 +502,22 @@ msgid "" "css. Spacing removal will not work if the source file forces inter-paragraph " "spacing." msgstr "" +"Remover o espaçamento entre parágrafos. Também define um avanço em " +"parágrafos de 1.5cm. Pode anular isto adicionando p {text-indent: 0cm} a --" +"override-css. A remoção de espaços não irá funcionar se o ficheiro de origem " +"forçar o espaçamento inter-parágrafo." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:221 msgid "Do not force text to be justified in output." -msgstr "" +msgstr "Não forçar o texto a ser justificado no ficheiro de destino." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:223 msgid "" "Remove table markup, converting it into paragraphs. This is useful if your " "source file uses a table to manage layout." msgstr "" +"Remover a tabela de formatação convertendo-a em parágrafos. Isto é útil se o " +"ficheiro de origem usa a tabela para gerir a aparência." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:226 msgid "" @@ -498,14 +525,18 @@ msgid "" "only neccessary if the HTML files contain CSS that uses sibling selectors. " "Enabling this greatly slows down processing of large HTML files." msgstr "" +"Preservar a estrutura das etiquetas HTML quanto separa ficheiros HTML " +"grandes. Isto só é necessário se os ficheiros HTML contiverem CSS que usem " +"selectores duplicados. Activar isto aumenta muito o tempo de processamento " +"de ficheiros HTML grandes." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:232 msgid "Print generated OPF file to stdout" -msgstr "Mostrar o ficheiro OPF gerado no stdout" +msgstr "Imprimir o ficheiro OPF gerado no stdout" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:234 msgid "Print generated NCX file to stdout" -msgstr "Mostrar o ficheiro NCX gerado no stdout" +msgstr "Imprimir o ficheiro NCX gerado no stdout" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:237 msgid "Keep intermediate files during processing by html2epub" @@ -516,8 +547,7 @@ msgstr "" msgid "" "Extract the contents of the produced EPUB file to the specified directory." msgstr "" -"Extrair os conteúdos do ficheiro EPUB produzido para a directoria " -"especificada." +"Extrair os conteúdos do ficheiro EPUB produzido para a pasta especificada." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:186 msgid "" @@ -528,14 +558,14 @@ msgid "" msgstr "" "%%prog [options] filename\n" "\n" -"Converter um grande númedo de formatos de ebook para um ficheiro %s. Os " -"formatos suportados são: %s\n" +"Converter algum de um grande número de formatos de livro para um ficheiro " +"%s. Os formatos suportados são: %s\n" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 msgid "Could not find an ebook inside the archive" -msgstr "Foi impossível localizar um ebook dentro do arquivo" +msgstr "Foi impossível localizar um livro dentro do arquivo" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -545,17 +575,24 @@ msgid "" "takes from\n" "the <spine> element of the OPF file. \n" msgstr "" +"%prog [options] file.html|opf\n" +"\n" +"Converter o ficheiro HTML num livro EPUB. Seguir recursivamente as ligações " +"no ficheiro HTML.\n" +"Se especificar um ficheiro OPF em vez de um ficheiro HTML, a lista de " +"ligações é retirada do\n" +"elemento <spine> do ficheiro OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Resultado escrito para " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" -msgstr "Deve especificar um ficheiro para importação em HTML" +msgstr "Deve especificar um ficheiro HTML de origem" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/iterator.py:36 msgid "%s format books are not supported" @@ -565,7 +602,7 @@ msgstr "Os livros em formato %s não são suportados" msgid "" "Could not find reasonable point at which to split: %s Sub-tree size: %d KB" msgstr "" -"Não foi possível encontrar um ponto razoável no qual dividir: %s Tamanho da " +"Não foi possível encontrar um ponto razoável no qual separar: %s Tamanho da " "sub-árvore: %d KB" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/split.py:142 @@ -573,97 +610,103 @@ msgid "" "\t\tToo much markup. Re-splitting without structure preservation. This may " "cause incorrect rendering." msgstr "" -"\t\tDemasiada formatação. Dividindo novamente sem preservação da estrutura. " +"\t\tDemasiada formatação. Separar novamente sem preservação da estrutura. " "Isto pode levar a uma representação incorrecta." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "HTML processado escrito no " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" -msgstr "" +msgstr "Opções para controlar o encaminhamento do HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." -msgstr "Directoria de saída. A directoria actual é a predefinida." +msgstr "Pasta de destino. A predefinida é a pasta actual." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -"Codificação de caracteres para os ficheiros HTML. A predefinição é auto-" -"detectar." +"Codificação de caracteres para os ficheiros HTML. A predefinição é a " +"detecção automática." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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 "" -"Criar a saída num ficheiro zip. Se esta opção for especificada a --output " -"deve ser o nome de um ficheiro, não de uma directoria." +"Criar o resultado num ficheiro zip. Se esta opção for especificada a --" +"output deve ser o nome de um ficheiro, não de uma pasta." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "Controlar a sequência das ligações nos ficheiros HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" +"Encaminhar as ligações nos ficheiros HTML, primeiro em largura. Normalmente " +"são encaminhadas primeiro em profundidade." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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 "" +"Número de níveis de recursão máximo para seguir ligações em ficheiros HTML. " +"Deve ser não negativo. 0 implica que nenhuma ligação é seguida na raiz do " +"ficheiro HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" -msgstr "Definir metadados do ebook gerado" +msgstr "Definir os metadados do livro gerado" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." -msgstr "Definir o título. A predefinição é auto-detectar." +msgstr "Definir o título. A predefinição é detectar automaticamente." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." -msgstr "" +msgstr "O(s) autor(es) do livro, como uma lista separada por &." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." -msgstr "O(s) assunto(s) deste ebook, como uma lista separada por vírgulas." +msgstr "O(s) assunto(s) deste livro, como uma lista separada por vírgulas." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." -msgstr "Defina a editora deste livro." +msgstr "Definir o editor deste livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Um resumo deste livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" -msgstr "Carregar metadados a partir de um ficheiro OPF especificado" +msgstr "Carregar os metadados a partir do ficheiro OPF especificado" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Opções úteis para depurar" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" "Apresentar mais indicações durante o processamento. Pode ser especificado " -"mais do que uma vez para aumentar a prolixidez." +"mais do que uma vez para aumentar o número de indicações." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" +"O HTML resultante é \"alindado\" para uma análise mais fácil por humanos" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -676,41 +719,43 @@ msgid "" msgstr "" "%prog [options] file.html|opf\n" "\n" -"Segue todas as ligações existentes num ficheiro em HTML e reune-as na " -"directoria especificada.\n" -"Também reune quaiquer recursos como imagens, folhas de cálculo, scripts, " +"Seguir todas as ligações num ficheiro HTML e reuni-las na pasta " +"especificada.\n" +"Também reune quaisquer recursos como imagens, folhas de estilos, scripts, " "etc. \n" -"Se, em vez disoo, for especificado um ficheiro OPF, é utilizada a lista de " -"ficheiros no seu\n" -"elemento <spine>.\n" +"Se, em vez disso, for especificado um ficheiro OPF, é utilizada a lista de " +"ficheiros\n" +"no seu elemento <spine>.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." -msgstr "Criando ficheiro LIT a partir de um EPUB..." +msgstr "A criar o ficheiro LIT a partir de EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." -msgstr "Directoria de saída. A predefinição é a directoria actual." +msgstr "Pasta de destino. A predefinição é a pasta actual." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" +"Formatar legivelmente a formatação extraida. Pode modificar espaço em branco " +"significativo." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Útil para depurar." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" -msgstr "Ebook em OEB criado em" +msgstr "Livro OEB criado em" #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:725 msgid "%prog [options] OPFFILE" @@ -720,35 +765,35 @@ msgstr "%prog [options] OPFFILE" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_feeds.py:26 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:579 msgid "Output file. Default is derived from input filename." -msgstr "Ficheiro de saída. A predefinição é o nome do ficheiro de origem." +msgstr "Ficheiro de destino. A predefinição é o nome do ficheiro de origem." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:76 msgid "Set the title. Default: filename." -msgstr "Defina o título. Predefinição: nome do ficheiro." +msgstr "Definir o título. A predefinição é: nome do ficheiro." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:78 msgid "" "Set the author(s). Multiple authors should be set as a comma separated list. " "Default: %default" msgstr "" -"Defina o(s) autor(es). Múltiplos autores devem ser definidos como uma lista " -"separada por vírgulas. Predefenição: %default" +"Definir o(s) autor(es). Múltiplos autores devem ser definidos como uma lista " +"separada por vírgulas. A predefenição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 msgid "Set the comment." -msgstr "Defina um comentário." +msgstr "Definir um comentário." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:83 msgid "Set the category" -msgstr "Defina uma categoria" +msgstr "Definir uma categoria" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:85 msgid "Sort key for the title" -msgstr "Palavra do título para a listagem" +msgstr "Chave de ordenação para o título" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 msgid "Sort key for the author" -msgstr "Palavra do nome do autor para a listagem" +msgstr "Chave de ordenação para o autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:89 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:288 @@ -766,13 +811,13 @@ msgid "" "If there is a cover graphic detected in the source file, use that instead of " "the specified cover." msgstr "" -"Se uma imagem de capa for detectada no ficheiro de origem, usa essa em vez " -"da capa especificada." +"Se uma imagem de capa for detectada no ficheiro de origem, usar essa imagem " +"em vez da capa especificada." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:96 msgid "Output file name. Default is derived from input filename" msgstr "" -"Nome do ficheiro de saída. A predefinição é o nome do ficheiro de origem." +"Nome do ficheiro de destino. A predefinição é o nome do ficheiro de origem." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:554 @@ -780,7 +825,7 @@ msgid "" "Render HTML tables as blocks of text instead of actual tables. This is " "neccessary if the HTML contains very large or complex tables." msgstr "" -"Mostrar as tabelas em HTML como blocos de texto em vez de tabelas reais. " +"Representar as tabelas em HTML como blocos de texto em vez de tabelas reais. " "Isto é necessário se o HMTL contiver tabelas muito grandes ou complexas." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:101 @@ -789,10 +834,10 @@ msgid "" "option obsoletes the --font-delta option and takes precedence over it. To " "use --font-delta, set this to 0. Default: %defaultpt" msgstr "" -"Especificar tamanho de letra base em pontos. Todas os tipos de letra são " +"Especifique o tamanho de letra base em pts. Todos os tipos de letra serão " "redimensionados em conformidade. Esta opção torna obsoleta a opção --font-" -"delta e tem prevalência sobre ela. Para usar --font-delta, defina isto como " -"0. Predefinição: %defaultpt" +"delta e tem precedência sobre ela. Para usar --font-delta, defina isto como " +"0. A predefinição é: %defaultpt" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:103 msgid "Enable autorotation of images that are wider than the screen width." @@ -801,7 +846,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:106 msgid "Set the space between words in pts. Default is %default" -msgstr "Defina o espaço entre palavras em pontos. A predefinição é %default" +msgstr "Defina o espaço entre as palavras em pts. A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:108 msgid "Separate paragraphs by blank lines." @@ -809,26 +854,28 @@ msgstr "Separar parágrafos por linhas em branco." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:110 msgid "Add a header to all the pages with title and author." -msgstr "Acrescentar um cabeçalho com o título e o autor em todas as páginas." +msgstr "Adicionar um cabeçalho com o título e o autor em todas as páginas." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:112 msgid "" "Set the format of the header. %a is replaced by the author and %t by the " "title. Default is %default" msgstr "" -"Definir o formato do cabeçalho. %a é substituído pelo autor e %t pelo " +"Definir o formato do cabeçalho. %a é substituido pelo autor e %t pelo " "título. A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:114 msgid "Add extra spacing below the header. Default is %default px." msgstr "" -"Acrescenta espaços extra abaixo do título. A predefinição é %default px." +"Adicionar espaços extra debaixo do título. A predefinição é %default px." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:116 msgid "" "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." msgstr "" +"Anular a CSS. Poder ser ou um caminho para uma folha de estilo CSS ou uma " +"cadeia. Se é uma cadeia é interpretada como CSS." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:118 msgid "" @@ -837,16 +884,16 @@ msgid "" "directory as the base HTML file." msgstr "" "Use o elemento <spine> do ficheiro OPF para determinar a ordem pela qual os " -"ficheiros HTML são apensardos ao LRF. O ficheiro .opt deve estar na mesma " -"directoria que o ficheiro HTML base." +"ficheiros HTML são anexados ao LRF. O ficheiro .opt deve estar na mesma " +"pasta que o ficheiro HTML base." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:120 msgid "" "Minimum paragraph indent (the indent of the first line of a paragraph) in " "pts. Default: %default" msgstr "" -"Avanço mínimo do parágrafo (avanço da primeira linha do parágrafo) em " -"pontos. Predefinição: %default" +"Avanço mínimo do parágrafo (avanço da primeira linha do parágrafo) em pts. A " +"predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:122 msgid "" @@ -854,16 +901,16 @@ msgid "" "FONT_DELTA pts. FONT_DELTA can be a fraction.If FONT_DELTA is negative, the " "font size is decreased." msgstr "" -"Aumentar o tamanho da letra em 2 * FONT_DELTA pontos e o espaçamento entre " -"as linhas em FONT_DELTA pontos. Se FONT_DELTA for negativo, o tamanho da " -"letra diminui." +"Aumentar o tamanho da letra em 2 * FONT_DELTA pts e o espaçamento entre as " +"linhas em FONT_DELTA pto. FONT_DELTA pode ser uma fracção. Se FONT_DELTA " +"for negativo, o tamanho da letra diminui." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:127 msgid "" "Render all content as black on white instead of the colors specified by the " "HTML or CSS." msgstr "" -"Apresenta todo o conteúdo como preto sobre fundo branco em vez das cores " +"Representar todo o conteúdo como preto sobre fundo branco em vez das cores " "especificadas pelo HTML ou CSS." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:133 @@ -872,9 +919,9 @@ msgid "" "profile determines things like the resolution and screen size of the target " "device. Default: %s Supported profiles: " msgstr "" -"Perfil do dispositivo de destino para o qual este LRF está a ser gerado. O " -"perfil determina coisas como a relolução e o tamanho do ecrã do dispositivo " -"de destino. Predefinição: %s Perfis suportados: " +"Perfil do leitor de destino para o qual este LRF está a ser gerado. O perfil " +"determina coisas como a resolução e o tamanho do ecrã do leitor de destino. " +"A predefinição é: %s. Perfis suportados: " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:139 msgid "Left margin of page. Default is %default px." @@ -897,7 +944,7 @@ msgid "" "Render tables in the HTML as images (useful if the document has large or " "complex tables)" msgstr "" -"Apresenta as tabelas existentes no HTML como imagens (útil se o documento " +"Representar as tabelas existentes no HTML como imagens (útil se o documento " "tem tabelas grandes ou complexas)" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:149 @@ -905,7 +952,7 @@ msgid "" "Multiply the size of text in rendered tables by this factor. Default is " "%default" msgstr "" -"Multiplica o tamanho do texto nas tabelas a apresentar por este factor. A " +"Multiplicar o tamanho do texto nas tabelas representadas por este factor. A " "predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:154 @@ -914,22 +961,25 @@ msgid "" "means thats links are not followed. A negative value means that <a> tags are " "ignored." msgstr "" +"Número máximo de níveis para processar recursivamente as ligações. Um valor " +"de 0 significa que as ligações não são seguidas. Um valor negativo significa " +"que as etiquetas <a> são ignoradas." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:158 msgid "" "A regular expression. <a> tags whose href matches will be ignored. Defaults " "to %default" msgstr "" -"Uma expressão regular. As etiquetas <a> que encontram correspondência com " -"href serão ignoradas. A predefinição é %default" +"Uma expressão regular. As etiquetas <a> que têm correspondência com href " +"serão ignoradas. A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:162 msgid "Don't add links to the table of contents." -msgstr "Não acrescente ligações à tabela de conteúdos." +msgstr "Não adicionar ligações à Tabela de Conteúdos." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:166 msgid "Prevent the automatic detection chapters." -msgstr "Impede a detecção automática de capítulos." +msgstr "Impedir a detecção automática de capítulos." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:169 msgid "" @@ -948,14 +998,14 @@ msgid "" "attribute to \"none\" to match only on tag names. So for example, to match " "all h2 tags, you would use \"h2,none,\". Default is %default" msgstr "" -"Detecta o início de um capítulo a partir de um elemento que tenha um " -"atributo especificado. O formato para esta opção é expressão regular para o " -"nome da etiqueta, nome do atributo, valor do atributo, expressão regular. " -"Por exemplo: para combinar todas as etiquetas de cabeçalho que têm o " -"atributo class=\"chapter\" deve usar \"h\\d,class,chapter\". Você pode " -"definir o atributo para \"none\" (nenhum) para combinar apenas com os nomes " -"das etiquetas. Portanto, por exemplo: para combinar todas as etiquetas h2, " -"deve usar \"h2,none,\". A predefinição é %default" +"Detectar o início de um capítulo a partir de um elemento com o atributo " +"especificado. O formato para esta opção é expressão regular para o nome da " +"etiqueta,nome do atributo,expressão regular para o valor do atributo. Por " +"exemplo: para encontrar todas as etiquetas de cabeçalho que têm o atributo " +"class=\"chapter\" deve usar \"h\\d,class,chapter\". Pode definir o atributo " +"para \"none\" para encontrar apenas os nomes das etiquetas. Portanto, por " +"exemplo: para cencontrar todas as etiquetas h2, deve usar \"h2,none,\". A " +"predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:174 msgid "" @@ -968,11 +1018,11 @@ msgid "" "has only a few elements." msgstr "" "Se o html2lrf não encontrar nenhuma quebra de página no ficheiro html e não " -"conseguir detectar os títulos dos capítulos, inserirá automaticamente " -"quebras de linha antes de etiquetas cujos nomes correspondam a esta " -"expressão regular.A predefinição é %default. Você pode desactivar isto " -"definindo a expressão regular como\"$\". A finalidade desta opção é tentar " -"assegurar que não existem de facto páginas longas uma vez que isso diminui o " +"conseguir detectar os cabeçalhos dos capítulos, vai inserir automaticamente " +"quebras de página antes das etiquetas cujos nomes correspondem a esta " +"expressão regular. A predefinição é %default. Pode desactivar isto definindo " +"a expressão regular como \"$\". A finalidade desta opção é tentar assegurar " +"que não existem de facto páginas muito longas uma vez que isso diminui o " "desempenho do LRF nas mudanças de página. Deste modo, esta opção é ignorada " "se a página actual tiver apenas alguns elementos." @@ -980,7 +1030,7 @@ msgstr "" msgid "" "Force a page break before tags whose names match this regular expression." msgstr "" -"Força uma quebra de página antes das etiquetas cujos nomes correspondam a " +"Forçar uma quebra de página antes das etiquetas cujos nomes correspondem a " "esta expressão regular." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:186 @@ -990,10 +1040,15 @@ msgid "" "regexp. For example to match all heading tags that have the attribute " "class=\"chapter\" you would use \"h\\d,class,chapter\". Default is %default" msgstr "" +"Forçar uma quebra de página antes de um elemento com o atributo " +"especificado. O formato para esta opção é expressão regular para o nome da " +"etiqueta,nome do atributo,expressão regular para o valor do atributo. Por " +"exemplo: para encontrar todas as etiquetas de cabeçalho que têm o atributo " +"class=\"chapter\" deve usar \"h\\d,class,chapter\". A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:189 msgid "Add detected chapters to the table of contents." -msgstr "Acrescenta os capítulos detectados à tabela de conteúdos." +msgstr "Adicionar os capítulos detectados à Tabela de Conteúdos." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:192 msgid "Preprocess Baen HTML files to improve generated LRF." @@ -1004,8 +1059,8 @@ msgid "" "You must add this option if processing files generated by pdftohtml, " "otherwise conversion will fail." msgstr "" -"Você deve acrescentar esta opção se estiver a processar ficheiros gerados " -"pelo pdftohtml. Caso contrário, a conversão irá falhar." +"Deve adicionar esta opção se estiver a processar ficheiros gerados pelo " +"pdftohtml. Caso contrário, a conversão irá falhar." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:196 msgid "Use this option on html0 files from Book Designer." @@ -1018,28 +1073,27 @@ msgid "" "slower page turns. For example: --serif-family \"Times New Roman\"\n" " " msgstr "" -"Especifica famílias de tipos de letra trutype para tipos de letra serifadas, " -"sem serifas e monoespaçadas. Estes tipos de letra serão integrados no " -"ficheiro LRF. Tenha em conta que os tipos de letra personalizados levará a " -"viragens de página mais lentas. Por exemplo: --serif-family \"Times New " -"Roman\"\n" +"Especifica famílias de tipos de letra truetype para tipos de letra serif, " +"sans-serif e monospace. Estes tipos de letra serão integrados no ficheiro " +"LRF. Tenha em conta que tipos de letra personalizados levam a viragens de " +"página mais lentas. Por exemplo: --serif-family \"Times New Roman\"\n" " " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:207 msgid "The serif family of fonts to embed" -msgstr "Família de tipos de letra serifada a integrar" +msgstr "Família de tipos de letra serif a integrar" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:210 msgid "The sans-serif family of fonts to embed" -msgstr "Família de tipos de letra não serifada a integrar" +msgstr "Família de tipos de letra san-serif a integrar" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:213 msgid "The monospace family of fonts to embed" -msgstr "Família de tipos de letra monoespaçada a integrar" +msgstr "Família de tipos de letra monospace a integrar" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:217 msgid "Be verbose while processing" -msgstr "Ser prolixo enquanto efectua o processamento" +msgstr "Apresentar mais indicações durante o processamento." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:219 msgid "Convert to LRS" @@ -1050,8 +1104,8 @@ msgid "" "Minimize memory usage at the cost of longer processing times. Use this " "option if you are on a memory constrained machine." msgstr "" -"Minimizar a utilização da memória às custas de tempos de processamento mais " -"longos. Use esta opção se estiver numa máquina com limitações de memória" +"Minimizar a utilização da memória à custa de tempos de processamento mais " +"longos. Use esta opção se estiver numa máquina com limitações de memória." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:223 msgid "" @@ -1060,10 +1114,10 @@ msgid "" "files from windows computers is cp-1252. Another common choice is utf-8. The " "default is to try and guess the encoding." msgstr "" -"Especifica a codificação de caracteres do ficheiro de origem. Se o ficheiro " -"LRF de saída tiver caracteres estranhos, tente mudar esta opção. A " -"codificação normal para ficheiros de computadores windows é cp-1252. Outra " -"escolha comum é utf-8. A predefinição é tentar descobrir a codificação." +"Especificque a codificação de caracteres do ficheiro de origem. Se o " +"ficheiro de destino LRF contiver caracteres estranhos, tente mudar esta " +"opção. A codificação comum para ficheiros de computadores windows é cp-1252. " +"Outra escolha comum é utf-8. A predefinição é tentar descobrir a codificação." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 msgid "Converting from %s to LRF is not supported." @@ -1081,25 +1135,25 @@ msgid "" msgstr "" "any2lrf [options] myfile\n" "\n" -"Converta qualquer formato de ebook para LRF. Os formatos suportados são:\n" -"LIT, RTF, TXT, HTML, EPUB, MOBI, PRC e PDF. O any2lrf também processará um " -"arquivo RAR ou\n" -"ZIP, procurando um ebook dentro do arquivo.\n" +"Converter qualquer formato de livro para LRF. Os formatos suportados são:\n" +"LIT, RTF, TXT, HTML, EPUB, MOBI, PRC e PDF. O any2lrf também processará " +"arquivos RAR ou\n" +"ZIP, procurando um livro dentro do arquivo.\n" " " #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 msgid "No file to convert specified." -msgstr "Não foi especificado nenhum ficheiro para conversão." +msgstr "Não foi especificado nenhum ficheiro para converter" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" -msgstr "" +msgstr "%s representado" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" -msgstr "Falhou/Falharam %s" +msgstr "Falhou %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1109,64 +1163,76 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Opções para controlar a conversão de ficheiros de banda desenhada (CBR, CBZ) " -" para ebooks" +"para livros" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -"Título para o ebook gerado. A predefinição é usar o nome do ficheiro." +"Título para o livro gerado. A predefinição é usar o nome do ficheiro." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" -"Defina o autor para os metadados do ebook gerado. A predefinição é %default" +"Definir o autor nos metadados do livro gerado. A predefinição é %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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." msgstr "" "Caminho para o ficheiro de destino. Por predefinição será criado um ficheiro " -"na directoria actual." +"na pasta actual." -#: /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 "Number of colors for grayscale image conversion. Default: %default" msgstr "" -"Número de cores para conversão de imagens em escala de cinza. Predefinição: " -"%default" +"Número de cores para conversão de imagens em escala de cinza. A predefinição " +"é: %default" -#: /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 normalize (improve contrast) color range for pictures. Default: False" msgstr "" +"Desactivar normalização (melhoria do contraste) do campo de cores das " +"imagens. A predefinição é: False" -#: /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 "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -"Mantém o ratio do aspecto da imagem. A predefinição é preencher o ecrã." +"Manter a relação de aspecto da imagem. A predefinição é preencher o ecrã." -#: /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 "Disable sharpening." -msgstr "" +msgstr "Desactivar nitidez." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" +"Desactivar o aparar das páginas de banda desenhada. Em certas bandas " +"desenhadas aparar pode remover conteúdos além das margens." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" msgstr "" -"Não dividir imagens em modo de paisagem em duas imagem em modo de retrato" +"Não dividir as imagens em modo de paisagem em duas imagens em modo de retrato" -#: /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:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" +"Manter a relação de aspecto e escala da imagem usando a altura do écran como " +"largura da imagem para visualização em modo paisagem." -#: /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:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1175,47 +1241,52 @@ msgstr "" "páginas em modo de paisagem a serem divididas em páginas em modo de retrato " "da direita para a esquerda." -#: /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:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." msgstr "" +"Activar Limpar Irregularidades. Reduz irregularidades. Pode aumentar muito o " +"tempo de processamento." -#: /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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -"Não ordena os ficheiros encontrados na banda desenhada alfabeticamente, por " -"nome. Em vez disso, usa a ordem pela qual foram acrescentados à banda " +"Não ordenar os ficheiros encontrados na banda desenhada alfabeticamente, por " +"nome. Em vez disso, usar a ordem pela qual foram adicionados à banda " "desenhada." -#: /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:321 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 "" -"Escolhe um perfil para o dispositivo para o qual está a gerar o ficheiro. A " -"predefinição é SONY PRS-500 com um tamanho de ecrã de 584x754 pixeis. Isto " -"serve para qualquer aparelho com o mesmo tamanho de ecrã. As escolhas são %s" +"Escolha um perfil para o leitor para o qual está a gerar este ficheiro. A " +"predefinição é SONY PRS-500 com um tamanho de ecrã de 584x754 pixeis. Isto é " +"adequado para qualquer aparelho com o mesmo tamanho de ecrã. As escolhas são " +"%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " "greater verbosity." msgstr "" +"Apresentar mais indicações, útil para depurar. Pode ser especificado mais do " +"que uma vez para aumentar o número de indicações." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Não mostrar a barra de progresso." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Não aplicar processamento à imagem" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1223,16 +1294,16 @@ msgid "" msgstr "" "%prog [options] comic.cb[z|r]\n" "\n" -"Converte uma banda desenhada num ficheiro CBZ ou CBR num ebook. \n" +"Converte uma banda desenhada em ficheiro CBZ ou CBR num livro. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" -msgstr "Ficheiro de destino escrito para" +msgstr "Ficheiro de destino escrito em" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." -msgstr "A mostrar páginas de banda desenhada" +msgstr "A representar as páginas de banda desenhada..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/epub/convert_from.py:17 msgid "" @@ -1241,10 +1312,10 @@ msgid "" " \n" "%prog converts mybook.epub to mybook.lrf" msgstr "" -"Usage: %prog [options] mybook.epub\n" +"Utilização: %prog [options] mybook.epub\n" " \n" " \n" -"%prog converte mybook.epub para mybook.lrf" +"%prog converte mybook.epub em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23 msgid "" @@ -1256,12 +1327,12 @@ msgstr "" "%prog [options] mybook.fb2\n" "\n" "\n" -"%prog converte mybook.fb2 para mybook.lrf" +"%prog converte mybook.fb2 em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:28 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:24 msgid "Print generated HTML to stdout and quit." -msgstr "Enviar o HTML gerado para o stdout e sair." +msgstr "Imprimir o HTML gerado para stdout e sair." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:30 msgid "Keep generated HTML files after completing conversion to LRF." @@ -1270,113 +1341,113 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 msgid "Options to control the behavior of feeds2disk" -msgstr "Opções para controlar o comportamento do feeds2disk" +msgstr "Opções para controlar o comportamento de feeds2disk" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:22 msgid "Options to control the behavior of html2lrf" -msgstr "Opões para controlar o comportamento do html2lrf" +msgstr "Opões para controlar o comportamento de html2lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:44 msgid "Fetching of recipe failed: " -msgstr "" +msgstr "Recolha da receita falhou: " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tFicheiro do Book Designer detectado." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." -msgstr "" +msgstr "\tA Analisar o HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." -msgstr "" +msgstr "\tFicheiro da Baen detectado. A re-analisar..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Escrever HTML pré-processado para " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" -msgstr "Processando %s" +msgstr "a processar %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tConvertendo para BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" -msgstr "" +msgstr "É impossível analisar o ficheiro: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s é um ficheiro vazio" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" -msgstr "" +msgstr "Falha ao analisar a ligação %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" -msgstr "Impossível acrescentar a ligação %s à Tabela de Conteúdos" +msgstr "É impossível adicionar %s à Tabela de Conteúdos" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" -msgstr "Impossível processar a imagem %s. Erro: %s" +msgstr "É impossível processar a imagem %s. Erro: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" -msgstr "" +msgstr "É impossível processar o PNG interlaçado %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -"Impossível processar a imagem: %s\n" +"É impossível processar a imagem: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -"Ocorreu um erro durante o processamento da tabela: %s. Ignorar as marcações " -"da tabela." +"Ocorreu um erro durante o processamento da tabela: %s. Ignorar as " +"formatações da tabela." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -"Tabela errada:\n" +"Tabela com erros:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" -msgstr "A tabela tem uma célula demasiado larga" +msgstr "A tabela tem uma célula demasiado grande" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." msgstr "" -"Primeiro você tem de salvar o sítio %s como um ficheiro HTML e só depois " -"correr o html2lrf." +"Primeiro tem de guardar o sítio %s como um ficheiro html e depois correr o " +"html2lrf." -#: /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:1869 msgid "Could not read cover image: %s" -msgstr "Impossível ler imagem de capa: %s" +msgstr "É impossível ler a imagem da capa: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" -msgstr "Impossível ler a partir de: %s" +msgstr "É impossível ler a partir de: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Falha no processamento do ficheiro opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1389,10 +1460,10 @@ msgstr "" "Utilização: %prog [options] mybook.html\n" "\n" "\n" -"%prog converte mybook.html para mybook.lrf. \n" -"%prog segue repetidamente todas as ligações no mybook.html \n" +"%prog converte mybook.html em mybook.lrf. \n" +"%prog segue recursivamente todas as ligações no mybook.html \n" "que apontam para ficheiros locais. Logo, pode utilizá-lo para \n" -"uma árvore inteira de ficheiros HTML." +"converter uma árvore inteira de ficheiros HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lit/convert_from.py:15 msgid "" @@ -1404,7 +1475,7 @@ msgstr "" "Utilização: %prog [options] mybook.lit\n" "\n" "\n" -"%prog converte mybook.lit para mybook.lrf" +"%prog converte mybook.lit em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:136 msgid "" @@ -1412,54 +1483,57 @@ msgid "" "Convert an LRF file into an LRS (XML UTF-8 encoded) file" msgstr "" "%prog book.lrf\n" -"Converte um ficheiro LRF num LRS (XML codificado em UTF-8)" +"Converte um ficheiro LRF num ficheiro LRS (XML codificado em UTF-8)" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:137 msgid "Output LRS file" -msgstr "Ficheiro LRS de destino" +msgstr "Ficheiro de destino LRS" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:139 msgid "Do not save embedded image and font files to disk" msgstr "" +"Não guardar no disco as imagens e ficheiros de tipo de letras integradas" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:158 msgid "Parsing LRF..." -msgstr "" +msgstr "A analisar o LRF..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:161 msgid "Creating XML..." -msgstr "" +msgstr "a criar o XML..." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:163 msgid "LRS written to " -msgstr "" +msgstr "LRS escrito em " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" -msgstr "" +msgstr "É impossível ler a partir do ficheiro de miniaturas:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" +"%prog [options] file.lrs\n" +"Compile uma ficheiro LRS num ficheiro LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" -msgstr "" +msgstr "Caminho para o ficheiro de destino" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" -msgstr "" +msgstr "Processamento com mais indicações" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." -msgstr "" +msgstr "Converter LRS em LRS, útil para depurar." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:455 msgid "Invalid LRF file. Could not set metadata." -msgstr "" +msgstr "Ficheiro LRF inválido. É impossível definir os metadados" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:580 msgid "" @@ -1469,68 +1543,78 @@ msgid "" "Show/edit the metadata in an LRF file.\n" "\n" msgstr "" +"%prog [opções] mybook.lrf\n" +"\n" +"\n" +"Mostrar/editar os metadados num ficheiro LRF.\n" +"\n" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:587 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:43 msgid "Set the book title" -msgstr "" +msgstr "Definir o título do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 msgid "Set sort key for the title" -msgstr "" +msgstr "Definir chave de ordenação para o título" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 msgid "Set the author" -msgstr "" +msgstr "Definir o autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 msgid "Set sort key for the author" -msgstr "" +msgstr "Definir chave de ordenação para o autor" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:47 msgid "The category this book belongs to. E.g.: History" -msgstr "" +msgstr "A categoria a que pertence este livro. Ex.: História" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:598 msgid "Path to a graphic that will be set as this files' thumbnail" msgstr "" +"Caminho para a imagem que vai ser definida como miniatura para este ficheiro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:601 msgid "" "Path to a txt file containing the comment to be stored in the lrf file." msgstr "" +"Caminho para um ficheiro txt contendo o comentário a ser guardado no " +"ficheiro lrf." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:605 msgid "Extract thumbnail from LRF file" -msgstr "" +msgstr "Extrair miniatura do ficheiro LRF" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:191 msgid "Set the publisher" -msgstr "" +msgstr "Definir a editora" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 msgid "Set the book classification" -msgstr "" +msgstr "Definir a classificação do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Set the book creator" -msgstr "" +msgstr "Definir o criador do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the book producer" -msgstr "" +msgstr "Definir o produtor do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "" "Extract cover from LRF file. Note that the LRF format has no defined cover, " "so we use some heuristics to guess the cover." msgstr "" +"Extrair a capa do ficheiro LRF. Tenha em conta que o formato LRF não tem " +"capa definida, sentão usam-se heurísticas para adivinhar a capa." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 msgid "Set book ID" -msgstr "" +msgstr "Definir ID do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/mobi/convert_from.py:43 msgid "" @@ -1539,15 +1623,21 @@ msgid "" "\n" "%prog converts mybook.mobi to mybook.lrf" msgstr "" +"Utilização: %prog [options] mybook.mobi|prc\n" +"\n" +"\n" +"%prog converte mybook.mobi em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:48 msgid "Could not find pdftohtml, check it is in your PATH" -msgstr "" +msgstr "É impossível encontrar pdftohtml, verifique se está no seu caminho" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:74 msgid "" " is an image based PDF. Only conversion of text based PDFs is supported." msgstr "" +" é um PDF baseado em imagens. Só é suportada a conversão de PDFs baseados em " +"texto." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:93 msgid "" @@ -1556,20 +1646,26 @@ msgid "" "\n" "%prog converts mybook.pdf to mybook.lrf" msgstr "" +"%prog [options] mybook.pdf\n" +"\n" +"\n" +"%prog converte mybook.pdf em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:403 msgid "" "Path to output directory in which to create the HTML file. Defaults to " "current directory." msgstr "" +"Caminho da pasta de destino onde se vai criar o ficheiro HTML. A " +"predefinição é a pasta actual." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:405 msgid "Be more verbose." -msgstr "" +msgstr "Apresentar mais indicações." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:417 msgid "You must specify a single PDF file." -msgstr "" +msgstr "Deve especificar um único ficheiro PDF." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:21 msgid "" @@ -1578,12 +1674,18 @@ msgid "" "\n" "%prog converts mybook.rtf to mybook.lrf" msgstr "" +"%prog [options] mybook.rtf\n" +"\n" +"\n" +"%prog converte mybook.rtf em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:146 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML and " "then convert it." msgstr "" +"Este ficheiro RTF tem características naõ suportadas pelo Calibre. Converta-" +"o para HTML e tente outra vez." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:19 msgid "" @@ -1592,14 +1694,18 @@ msgid "" "\n" "%prog converts mybook.txt to mybook.lrf" msgstr "" +"%prog [options] mybook.txt\n" +"\n" +"\n" +"%prog converte mybook.txt em mybook.lrf" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:45 msgid "Set the authors" -msgstr "" +msgstr "Definir os autores" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:49 msgid "Set the comment" -msgstr "" +msgstr "Definir o comentário" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:286 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 @@ -1609,7 +1715,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:966 msgid "Title" -msgstr "" +msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:37 @@ -1617,11 +1723,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:967 msgid "Author(s)" -msgstr "" +msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:289 msgid "Producer" -msgstr "" +msgstr "Produtor" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:290 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 @@ -1632,7 +1738,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:320 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" -msgstr "" +msgstr "Comentários" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:292 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:112 @@ -1642,7 +1748,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" -msgstr "" +msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:294 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:113 @@ -1650,50 +1756,50 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" -msgstr "" +msgstr "Séries" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:295 msgid "Language" -msgstr "" +msgstr "Linguagem" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:297 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:909 msgid "Timestamp" -msgstr "" +msgstr "Data" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:202 msgid "A comma separated list of tags to set" -msgstr "" +msgstr "Uma lista de etiquetas separada por vírgulas para definir" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:204 msgid "The series to which this book belongs" -msgstr "" +msgstr "A série à qual este livro pertence" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:206 msgid "The series index" -msgstr "" +msgstr "Índice da série" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:208 msgid "The book language" -msgstr "" +msgstr "A linguagem do livro" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:210 msgid "Extract the cover" -msgstr "" +msgstr "Extrair a capa" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:54 msgid "Usage:" -msgstr "" +msgstr "Utilização:" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:53 msgid "Usage: imp-meta file.imp" -msgstr "" +msgstr "Utilização: imp-meta file.imp" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:54 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:59 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:60 msgid "No filename specified." -msgstr "" +msgstr "Não foi especificado nenhum nome de ficheiro." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:97 msgid "" @@ -1708,41 +1814,53 @@ msgid "" "isbndb.com.\n" "\n" msgstr "" +"\n" +"%prog [options] key\n" +"\n" +"Procurar os metadados para livros em isndb.com. Pode especificar ou o\n" +"ISBN do livro ou o seu título e autor. Se especificar o título e autor,\n" +"então pode ser mostrado mais do que um livro.\n" +"\n" +"chave é a chave da conta gerada depois do registo grátis no isbndb.com.\n" +"\n" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:108 msgid "The ISBN ID of the book you want metadata for." -msgstr "" +msgstr "O ISBN do livro para o qual quer os metadados." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:110 msgid "The author whose book to search for." -msgstr "" +msgstr "O autor do livro que procura." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:112 msgid "The title of the book to search for." -msgstr "" +msgstr "O título do livro que procura." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:114 msgid "The publisher of the book to search for." -msgstr "" +msgstr "A editora do livro que procura." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:46 msgid "LibraryThing.com timed out. Try again later." msgstr "" +"LibraryThing.com está a demorar demasiado tempo. Tente outra vez mais tarde." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:53 msgid "" "Could not fetch cover as server is experiencing high load. Please try again " "later." msgstr "" +"É impossível procurar a capa porque o servidor está muito ocupado. Tente " +"outra vez mais tarde." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:54 msgid " not found." -msgstr "" +msgstr " não encontrado." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:57 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:88 msgid "LibraryThing.com server error. Try again later." -msgstr "" +msgstr "Erro no servidor LibraryThing.com. Tente outra vez mais tarde." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:66 msgid "" @@ -1751,206 +1869,222 @@ msgid "" "\n" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" +"\n" +"%prog [options] ISBN\n" +"\n" +"Procurar uma imagem para a capa do livro identificado pelo ISBN em " +"LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" -msgstr "" +msgstr "Utilização: %s file.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" -msgstr "" +msgstr "Capa guardada em" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:187 msgid "Set the subject tags" -msgstr "" +msgstr "Definir as etiquetas de assunto" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:189 msgid "Set the language" -msgstr "" +msgstr "Definir a linguagem" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:193 msgid "Set the ISBN" -msgstr "" +msgstr "Definir o ISBN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1014 msgid "Set the dc:language field" -msgstr "" +msgstr "Definir dc:language field" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:58 msgid "Usage: pdf-meta file.pdf" -msgstr "" +msgstr "Utilização: pdf-meta file.pdf" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:59 msgid "Usage: rb-meta file.rb" -msgstr "" +msgstr "Utilização: rb-meta file.rb" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_any.py:55 msgid "Creating Mobipocket file from EPUB..." -msgstr "" +msgstr "A criar o ficheiro Mobipocket a partir de EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" -msgstr "" +msgstr "%prog [options] myebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" -msgstr "" +msgstr "MOBI HTML em bruto guardado em" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:538 msgid "Options to control the conversion to MOBI" -msgstr "" +msgstr "Opções para controlar a conversão para MOBI" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:545 msgid "Mobipocket-specific options." -msgstr "" +msgstr "Opções específicas Mobipocket." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:547 msgid "" "Compress file text using PalmDOC compression. Results in smaller files, but " "takes a long time to run." msgstr "" +"Comprimir os ficheiro usando a compressão PalmDOC. Resulta em ficheiros mais " +"pequenos, mas demora muito tempo a correr." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:550 msgid "Modify images to meet Palm device size limitations." msgstr "" +"Modificar imagem para cumprir as limitações de tamanho do aparelho Palm." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:552 msgid "Title for any generated in-line table of contents." -msgstr "" +msgstr "Título para qualquer Tabela de Conteúdos gerada em série." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:558 msgid "" "When present, use the author sorting information for generating the " "Mobipocket author metadata." msgstr "" +"Quando presente, usar a informação de ordenação do autor para gerar os " +"metadados do autor Mobipocket." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:560 msgid "" "Device renderer profiles. Affects conversion of font sizes, image rescaling " "and rasterization of tables. Valid profiles are: %s." msgstr "" +"Perfis representados pelos leitores. Afecta a conversão de tamanhos de " +"letra, redimensionamento de imagens e exploração de tabelas. Perfis válidos " +"são: %s." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:565 msgid "Source renderer profile. Default is %default." -msgstr "" +msgstr "Perfil representado pela fonte. A predefinição é %default." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:568 msgid "Destination renderer profile. Default is %default." -msgstr "" +msgstr "Perfil representado pelo destino. A predefinição é %default." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:576 msgid "[options]" -msgstr "" +msgstr "[options]" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:594 msgid "Unknown source profile %r" -msgstr "" +msgstr "Perfil fonte desconhecido %r" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:598 msgid "Unknown destination profile %r" -msgstr "" +msgstr "Perfil de destino desconhecido %r" #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:57 msgid "The output directory. Defaults to the current directory." -msgstr "" +msgstr "A pasta de destino. A predefinição é a pasta actual." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:822 msgid "Cover" -msgstr "" +msgstr "Capa" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:823 msgid "Title Page" -msgstr "" +msgstr "Página de Título" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:824 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:160 msgid "Table of Contents" -msgstr "" +msgstr "Tabela de Conteúdos" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:825 msgid "Index" -msgstr "" +msgstr "Índice" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:826 msgid "Glossary" -msgstr "" +msgstr "Glossário" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:827 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimentos" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:828 msgid "Bibliography" -msgstr "" +msgstr "Bibliografia" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:829 msgid "Colophon" -msgstr "" +msgstr "Marca Tipográfica" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:830 msgid "Copyright" -msgstr "" +msgstr "Direitos de Autor" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:831 msgid "Dedication" -msgstr "" +msgstr "Dedicação" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:832 msgid "Epigraph" -msgstr "" +msgstr "Epígrafe" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:833 msgid "Foreword" -msgstr "" +msgstr "Prefácio" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:834 msgid "List of Illustrations" -msgstr "" +msgstr "Lista de Ilustrações" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:835 msgid "List of Tables" -msgstr "" +msgstr "Lista de Tabelas" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:836 msgid "Notes" -msgstr "" +msgstr "Notas" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:837 msgid "Preface" -msgstr "" +msgstr "Prefácio" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:838 msgid "Main Text" -msgstr "" +msgstr "Texto Principal" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:13 msgid "Options to control the transformation of pdf" -msgstr "" +msgstr "Opções para controlar a transformação do opf" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:24 msgid "Number of pixels to crop from the left most x (default is %d) " -msgstr "" +msgstr "Número de pixeis a cortar à esquerda most x (a predefinição é %d) " #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:26 msgid "Number of pixels to crop from the left most y (default is %d) " -msgstr "" +msgstr "Número de pixeis a cortar à esquerda most y (a predefinição é %d) " #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:28 msgid "Number of pixels to crop from the right most x (default is %d) " -msgstr "" +msgstr "Número de pixeis a cortar à direita most x (a predefinição é %d) " #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:30 msgid "Number of pixels to crop from the right most y (default is %d)" -msgstr "" +msgstr "Número de pixeis a cortar à direita most y (a predefinição é %d)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:32 msgid "" "A file generated by ghostscript which allows each page to be individually " "cropped [gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox > bounding] " msgstr "" +"Um ficheiro gerado por ghostscript que permite que cada página seja " +"individualmente cortada [gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox > " +"bounding] " #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:38 msgid "" @@ -1959,106 +2093,115 @@ msgid "" "\tCrops a pdf. \n" "\t" msgstr "" +"\t%prog [options] file.pdf\n" +"\n" +"\tCorta um pdf. \n" +"\t" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:433 msgid "Frequently used directories" -msgstr "" +msgstr "Pastas usadas frequentemente" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 msgid "Send file to storage card instead of main memory by default" msgstr "" +"Enviar ficheiro para cartão de memória em vez da memória principal por " +"predefinição" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "The format to use when saving single files to disk" -msgstr "" +msgstr "O formato a usar quando guardar ficheiros individuais no disco" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Confirm before deleting" -msgstr "" +msgstr "Confirmar antes de apagar" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Toolbar icon size" -msgstr "" +msgstr "Tamanho dos ícones da barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Show button labels in the toolbar" -msgstr "" +msgstr "Mostrar as descrições nos botões da barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Main window geometry" -msgstr "" +msgstr "Geometria da janela principal" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Notify when a new version is available" -msgstr "" +msgstr "Notificar quando uma nova versão estiver disponível" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Use Roman numerals for series number" -msgstr "" +msgstr "Usar números romanos para número da série" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Sort tags list by popularity" -msgstr "" +msgstr "Ordenar a lista de etiquetas por popularidade" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Number of covers to show in the cover browsing mode" -msgstr "" +msgstr "Número de capas a mostrar no modo de navegação por capas" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Defaults for conversion to LRF" -msgstr "" +msgstr "Predefinições na conversão para LRF" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Options for the LRF ebook viewer" -msgstr "" +msgstr "Opções para o visualizador de livros LRF" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Formats that are viewed using the internal viewer" -msgstr "" +msgstr "Formatos a usar pelo visualizador interno" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Columns to be displayed in the book list" -msgstr "" +msgstr "Colunas a serem apresentadas na lista de livros" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Automatically launch content server on application startup" msgstr "" +"Iniciar automaticamente o servidor de conteúdo no arranque da aplicação" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 msgid "Oldest news kept in database" -msgstr "" +msgstr "Notícias mais antigas guardadas na base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Show system tray icon" -msgstr "" +msgstr "Mostrar o ícone da área de notificação" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Upload downloaded news to device" -msgstr "" +msgstr "Carregar notícias descarregadas para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Delete books from library after uploading to device" -msgstr "" +msgstr "Apagar livros da biblioteca após carregamento para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "" "Show the cover flow in a separate window instead of in the main calibre " "window" msgstr "" +"Mostrar o fluxo de capas numa janela separada em vez de na janela principal " +"do Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Disable notifications from the system tray icon" -msgstr "" +msgstr "Desactivar notificações a partir do ícone da área de notificação" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 msgid "Added %s to library" -msgstr "" +msgstr "Adicionado %s à biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:162 msgid "Read metadata from " -msgstr "" +msgstr "Ler os metadados de " #: /home/kovid/work/calibre/src/calibre/gui2/add.py:116 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:224 @@ -2066,66 +2209,68 @@ msgid "" "<p>Books with the same title as the following already exist in the database. " "Add them anyway?<ul>" msgstr "" +"<p> Já existem livros com o mesmo título na base de dados. Adicioná-los na " +"mesma?<ul>" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:121 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:228 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 msgid "Duplicates found!" -msgstr "" +msgstr "Duplicados encontrados!" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:146 msgid "Adding books recursively..." -msgstr "" +msgstr "A adicionar livros recursivamente..." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:147 msgid "Searching for books in all sub-directories..." -msgstr "" +msgstr "A procurar livros em todas as sub-pastas..." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:176 msgid "Adding books to database..." -msgstr "" +msgstr "A adicionar livros à base de dados..." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:703 msgid "Reading metadata..." -msgstr "" +msgstr "A ler os metadados..." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:193 msgid "Searching in" -msgstr "" +msgstr "A procurar em" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:72 msgid "Device no longer connected." -msgstr "" +msgstr "O leitor já não está ligado." #: /home/kovid/work/calibre/src/calibre/gui2/device.py:117 msgid "Get device information" -msgstr "" +msgstr "Ir buscar informação sobre o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:128 msgid "Get list of books on device" -msgstr "" +msgstr "Listar os livros presentes no leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:137 msgid "Send metadata to device" -msgstr "" +msgstr "Enviar os metadados para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:146 msgid "Upload %d books to device" -msgstr "" +msgstr "Carregar %d livros para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:161 msgid "Delete books from device" -msgstr "" +msgstr "Apagar livros do leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:176 msgid "Download books from device" -msgstr "" +msgstr "Descarregar livros do leitor" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:186 msgid "View book on device" -msgstr "" +msgstr "Ver livro no leitor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:85 @@ -2134,7 +2279,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:56 msgid "Path" -msgstr "" +msgstr "Caminho" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:88 @@ -2144,14 +2289,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Formats" -msgstr "" +msgstr "Formatos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" -msgstr "" +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 @@ -2162,208 +2307,219 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:53 msgid "TextLabel" -msgstr "" +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 "&Seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:40 msgid "Choose Format" -msgstr "" +msgstr "Escolher o formato" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:34 msgid "Set defaults for conversion of comics (CBR/CBZ files)" msgstr "" +"Definir as predefinições para a conversão de banda desenhada (ficheiros " +"CBR/CBZ)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:49 msgid "Set options for converting %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 -msgid "&Title:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 -msgid "&Author(s):" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 -msgid "&Number of Colors:" -msgstr "" +msgstr "Definir opções para converter %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +msgid "&Title:" +msgstr "&Título" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +msgid "&Author(s):" +msgstr "&Autor(es):" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +msgid "&Number of Colors:" +msgstr "&Número de Cores:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 -msgid "Disable &normalize" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 -msgid "Keep &aspect ratio" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 -msgid "Disable &Sharpening" -msgstr "" +msgstr "&Perfil:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 -msgid "&Landscape" -msgstr "" +msgid "Disable &normalize" +msgstr "Desactivar &normalizar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 -msgid "Don't so&rt" -msgstr "" +msgid "Keep &aspect ratio" +msgstr "Manter a relação de &aspecto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 -msgid "&Right to left" -msgstr "" +msgid "Disable &Sharpening" +msgstr "Desactivar &Nitidez" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 -msgid "De&speckle" -msgstr "" +msgid "&Landscape" +msgstr "&Paisagem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +msgid "Don't so&rt" +msgstr "Não o&rdenar" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 +msgid "&Right to left" +msgstr "Di&reita para a esquerda" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 +msgid "De&speckle" +msgstr "Limpar Irregularidade&s" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "Desactivar &Aparar" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" -msgstr "" +msgstr " - Extras disponíveis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:106 msgid "by" -msgstr "" +msgstr "por" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Advanced" -msgstr "" +msgstr "Avançadas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "General" -msgstr "" +msgstr "Geral" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:123 msgid "Interface" -msgstr "" +msgstr "Interface" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "" "Content\n" "Server" msgstr "" +"Servidor de\n" +"Conteúdos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:124 msgid "Plugins" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 -msgid "No valid plugin path" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 -msgid "%s is not a valid plugin path" -msgstr "" +msgstr "Extras" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +msgid "No valid plugin path" +msgstr "Sem caminhos válidos para o extra" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 +msgid "%s is not a valid plugin path" +msgstr "%s não é um caminho válido para o extra" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" -msgstr "" +msgstr "Escolher o extra" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" -msgstr "" +msgstr "O extra não pode ser desactivado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 -msgid "Plugin not customizable" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 -msgid "Plugin: %s does not need customization" -msgstr "" +msgstr "O extra: %s não pode ser desactivado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +msgid "Plugin not customizable" +msgstr "Extra não personalizável" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 +msgid "Plugin: %s does not need customization" +msgstr "Extra: %s não precisa de personalização" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" -msgstr "" +msgstr "Personalizar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" -msgstr "" +msgstr "É impossível remover o extra integrado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 -msgid "Error log:" -msgstr "" +" não pode ser removido. É um extra integrado. Experimente desactivá-lo." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 -msgid "Access log:" -msgstr "" +msgid "Error log:" +msgstr "Registo de erros:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 +msgid "Access log:" +msgstr "Registo de acesso:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" -msgstr "" +msgstr "Falha em iniciar o servidor de conteúdos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" -msgstr "" +msgstr "Tamanho inválido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" -msgstr "" +msgstr "O tamanho %s é inválido. Deve estar na forma larguraxaltura" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" -msgstr "" +msgstr "Localização da base de dados inválida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." -msgstr "" +msgstr "<br>Deve ser uma pasta." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " -msgstr "" +msgstr "Localização da base de dados inválida " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " -msgstr "" +msgstr "Localização da base de dados inválida.<br>É impossível escrever em " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." -msgstr "" +msgstr "A compactar a base de dados. Pode demorar algum tempo." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." -msgstr "" +msgstr "A compactar..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:417 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:345 msgid "Configuration" -msgstr "" +msgstr "Configuração" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:418 msgid "" "&Location of ebooks (The ebooks are stored in folders sorted by author and " "metadata is stored in the file metadata.db)" msgstr "" +"&Localização dos livros (Os livros estão armazenados em pastas, ordenados " +"por autor e os metadados estão armazenados no ficheiro metadata.db)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:419 msgid "Browse for the new database location" -msgstr "" +msgstr "Navegar para a nova localização da base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:420 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:435 @@ -2393,139 +2549,145 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:344 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:346 msgid "..." -msgstr "" +msgstr "..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:421 msgid "Show notification when &new version is available" -msgstr "" +msgstr "Mostrar notificação quando estiver disponível uma &nova versão" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:422 msgid "" "If you disable this setting, metadata is guessed from the filename instead. " "This can be configured in the Advanced section." msgstr "" +"Se desactivar esta definição os metadados são adivinhados a partir do nome " +"do ficheiro. Isto pode ser configurado na secção Avançadas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:423 msgid "Read &metadata from files" -msgstr "" +msgstr "Ler os &metadados dos ficheiros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:424 msgid "Format for &single file save:" -msgstr "" +msgstr "Formato para guardar os ficheiros &individuais:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:425 msgid "Default network &timeout:" -msgstr "" +msgstr "Predefinição do tempo de espera da rede:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:426 msgid "" "Set the default timeout for network fetches (i.e. anytime we go out to the " "internet to get information)" msgstr "" +"Definir a predefinição para o tempo de espera para ir buscar dados à rede " +"(i.e. sempre que se vai à internet buscar informação)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:427 msgid " seconds" -msgstr "" +msgstr " segundos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:428 msgid "Choose &language (requires restart):" -msgstr "" +msgstr "&Linguagem (precisa de reiniciar):" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:429 msgid "Normal" -msgstr "" +msgstr "Normal" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:430 msgid "High" -msgstr "" +msgstr "Alta" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:431 msgid "Low" -msgstr "" +msgstr "Baixa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:432 msgid "Job &priority:" -msgstr "" +msgstr "&Prioridade do processo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:434 msgid "Add a directory to the frequently used directories list" -msgstr "" +msgstr "Adicionar uma pasta à lista de pastas usadas frequentemente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:436 msgid "Remove a directory from the frequently used directories list" -msgstr "" +msgstr "Remover uma pasta da lista de pastas usadas frequentemente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:438 msgid "Use &Roman numerals for series number" -msgstr "" +msgstr "Usar números &romanos para o número da série" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:439 msgid "Enable system &tray icon (needs restart)" -msgstr "" +msgstr "Activar o ícone na área de ¬ificação (precisa de reiniciar)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:440 msgid "Show ¬ifications in system tray" -msgstr "" +msgstr "Mostrar ¬ificações na área de notificação" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:441 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" +"Mostrar o &navegador de capas numa janela separada (precisa de reiniciar)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:442 msgid "Automatically send downloaded &news to ebook reader" -msgstr "" +msgstr "Enviar automaticamente as ¬ícias descarregadas para o leitor" #: /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 "&Apagar as notícias da biblioteca depois de as enviar para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:444 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" +"&Número de capas a mostrar em modo de navegação (precisa de reiniciar):" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:445 msgid "Toolbar" -msgstr "" +msgstr "Barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:446 msgid "Large" -msgstr "" +msgstr "Grande" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:447 msgid "Medium" -msgstr "" +msgstr "Médio" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:448 msgid "Small" -msgstr "" +msgstr "Pequeno" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:449 msgid "&Button size in toolbar" -msgstr "" +msgstr "Tamanho dos &botões da barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:450 msgid "Show &text in toolbar buttons" -msgstr "" +msgstr "Mostar &texto nos botões da barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:451 msgid "Select visible &columns in library view" -msgstr "" +msgstr "Seleccionar as &colunas visíveis na vista da biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:454 msgid "Use internal &viewer for:" -msgstr "" +msgstr "Usar o &visualizador interno para:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:455 msgid "Free unused diskspace from the database" -msgstr "" +msgstr "Espaço em disco não utilizado na base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:456 msgid "&Compact database" -msgstr "" +msgstr "&Compactar a base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:457 msgid "&Metadata from file name" -msgstr "" +msgstr "&Metadados a partir do nome dos ficheiros" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:458 msgid "" @@ -2533,64 +2695,72 @@ msgid "" "collection using a browser from anywhere in the world. Any changes to the " "settings will only take effect after a server restart." msgstr "" +"O Calibre contém um servidor de rede que lhe permite aceder à sua colecção " +"de livros usando um navegador, a partir de qualquer sítio do mundo. " +"Quaisquer mudanças nas definições só terão efeito depois do servidor ser " +"reiniciado." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:459 msgid "Server &port:" -msgstr "" +msgstr "&Porta do servidor:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" -msgstr "" +msgstr "&Utilizador:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" -msgstr "" +msgstr "&Palavra-passe:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:462 msgid "" "If you leave the password blank, anyone will be able to access your book " "collection using the web interface." msgstr "" +"Se deixar a palavra-passe em branco qualque pessoa poderá aceder à sua " +"colecção de livros usando a interface de rede." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" -msgstr "" +msgstr "&Mostrar a palavra-passe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:464 msgid "" "The maximum size (widthxheight) for displayed covers. Larger covers are " "resized. " msgstr "" +"O tamanho máximo (larguraxaltura) para as capas apresentadas. Capas maiores " +"são redimensionadas. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:465 msgid "Max. &cover size:" -msgstr "" +msgstr "Tam. máx. da &capa:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:466 msgid "&Start Server" -msgstr "" +msgstr "&Ligar o Servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:467 msgid "St&op Server" -msgstr "" +msgstr "&Desligar o Servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:468 msgid "&Test Server" -msgstr "" +msgstr "&Testar o Servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:469 msgid "Run server &automatically on startup" -msgstr "" +msgstr "Correr o servidor &automaticamente no arranque" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:470 msgid "View &server logs" -msgstr "" +msgstr "Ver o registo do &servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:471 msgid "" @@ -2600,56 +2770,63 @@ msgid "" "iphone. Here myhostname should be the fully qualified hostname or the IP " "address of this computer." msgstr "" +"Se quiser usar o servidor de conteúdos para aceder à sua colecção de livros " +"no seu iPhone com Stanza precisa de adicionar o URL " +"http://myhostname:8080/stanza como um novo catálogo no leitor Stanza do seu " +"iPhone. Aqui o myhostname deve ser o nome de domínio ou o endereço IP deste " +"computador." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:472 msgid "" "Here you can customize the behavior of Calibre by controlling what plugins " "it uses." msgstr "" +"Aqui pode personalizar o comportamento do Calibre controlando quais os " +"extras que este utiliza." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:473 msgid "Enable/&Disable plugin" -msgstr "" +msgstr "Activar/&Desactivar o extra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:474 msgid "&Customize plugin" -msgstr "" +msgstr "&Personalizar o extra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:475 msgid "&Remove plugin" -msgstr "" +msgstr "&Remover o extra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:476 msgid "Add new plugin" -msgstr "" +msgstr "Adicionar novo extra" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:477 msgid "Plugin &file:" -msgstr "" +msgstr "&Ficheiro com o extra:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:479 msgid "&Add" -msgstr "" +msgstr "&Adicionar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:48 msgid "Are you sure?" -msgstr "" +msgstr "Tem a certeza?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:50 msgid "&Show this warning again" -msgstr "" +msgstr "&Mostrar este aviso outra vez" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/conversion_error_ui.py:41 msgid "ERROR" -msgstr "" +msgstr "ERRO" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:52 msgid "Bulk convert to " -msgstr "" +msgstr "Converter os livros a granel em " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:54 msgid "Convert %s to " -msgstr "" +msgstr "Converter %s em " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:97 @@ -2658,28 +2835,28 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:143 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:161 msgid "Metadata" -msgstr "" +msgstr "Metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:72 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:298 msgid "Look & Feel" -msgstr "" +msgstr "Aparência" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:99 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:299 msgid "Page Setup" -msgstr "" +msgstr "Preparação da Página" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:300 msgid "Chapter Detection" -msgstr "" +msgstr "Detecção de Capítulos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:97 msgid "" @@ -2687,131 +2864,139 @@ msgid "" "\n" "Metadata will be updated in the database as well as the generated %s file." msgstr "" +"Especificar os metadados, como o título e o autor do livro.\n" +"\n" +"Os metadados vão ser actualizados na base de dados assim como os ficheiros " +"%s gerados." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:98 msgid "" "Adjust the look of the generated ebook by specifying things like font sizes." msgstr "" +"Ajustar a aparência do livro gerado especificando coisas como o tamanho do " +"tipo de letra." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:99 msgid "Specify the page layout settings like margins." -msgstr "" +msgstr "Especificar as definições da aparência da página, como margens." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:300 msgid "Fine tune the detection of chapter and section headings." -msgstr "" +msgstr "Afinar a detecção de capítulos e cabeçalhos de secções." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:167 msgid "Choose cover for " -msgstr "" +msgstr "Escolher a capa para " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:59 msgid "Cannot read" -msgstr "" +msgstr "É impossível ler" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:175 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:60 msgid "You do not have permission to read the file: " -msgstr "" +msgstr "Não tem permissão para ler o ficheiro: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" -msgstr "" +msgstr "Erro ao ler o ficheiro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:184 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:69 msgid "<p>There was an error reading from file: <br /><b>" -msgstr "" +msgstr "<p>Houve um erro ao ler do ficheiro: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 -msgid "Cannot convert" -msgstr "" +msgstr " não é uma imagem válida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 -msgid "This book has no available formats" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 +msgid "Cannot convert" +msgstr "É impossível converter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 -msgid "No available formats" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 +msgid "This book has no available formats" +msgstr "Este livro não tem formatos disponíveis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 +msgid "No available formats" +msgstr "Sem formatos disponíveis" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" +"É impossível converter %s porque este livro não tem formatos suportados" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 -msgid "Invalid XPath expression" -msgstr "" +msgstr "Escolher o formato para converter em " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +msgid "Invalid XPath expression" +msgstr "Expressão XPath inválida" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" -msgstr "" +msgstr "A expressão %s é inválida. Erro: %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:467 msgid "Convert to EPUB" -msgstr "" +msgstr "Converter em EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:468 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:496 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "Book Cover" -msgstr "" +msgstr "Capa do livro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:469 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:497 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Change &cover image:" -msgstr "" +msgstr "Mudar a imagem da &capa:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:470 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:498 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "Browse for an image to use as the cover of this book." -msgstr "" +msgstr "Navegar para uma imagem para usar como a capa deste livro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:472 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:500 msgid "Use cover from &source file" -msgstr "" +msgstr "Usar a capa do ficheiro &fonte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:501 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:330 msgid "&Title: " -msgstr "" +msgstr "&Título: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:331 msgid "Change the title of this book" -msgstr "" +msgstr "Mudar o título deste livro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:475 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:503 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:334 msgid "&Author(s): " -msgstr "" +msgstr "&Autor(es): " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:476 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:504 @@ -2820,11 +3005,13 @@ msgid "" "Change the author(s) of this book. Multiple authors should be separated by " "an &. If the author name contains an &, use && to represent it." msgstr "" +"Altere o(s) autor(es) deste livro. Múltiplos autores devem ser separados por " +"&. Se o nome do autor contem um &, use && para o representar." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:477 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:505 msgid "Author So&rt:" -msgstr "" +msgstr "O&rdenação dos Autores:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:478 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:506 @@ -2832,25 +3019,27 @@ msgid "" "Change the author(s) of this book. Multiple authors should be separated by a " "comma" msgstr "" +"Altere o(s) autor(es) deste livro. Múltiplos autores devem ser separados por " +"vírgula" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:479 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:507 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:343 msgid "&Publisher: " -msgstr "" +msgstr "&Editora: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:480 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:508 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:137 msgid "Change the publisher of this book" -msgstr "" +msgstr "Alterar a editora deste livro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:481 #: /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:344 msgid "Ta&gs: " -msgstr "" +msgstr "Etiqueta&s: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:482 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:510 @@ -2860,13 +3049,15 @@ msgid "" "Tags categorize the book. This is particularly useful while searching. " "<br><br>They can be any words or phrases, separated by commas." msgstr "" +"As etiquetas categorizam o livro. Isto é particularmente útil para procurar. " +"<br><br>Podem ser quaisquer palavras ou frases, separadas por vírgulas." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:483 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:511 #: /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:348 msgid "&Series:" -msgstr "" +msgstr "&Série:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:484 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:485 @@ -2877,7 +3068,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:349 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:350 msgid "List of known series. You can add new series." -msgstr "" +msgstr "Lista de séries conhecidas. Pode adicionar uma nova série." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:486 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:487 @@ -2886,23 +3077,23 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:353 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:354 msgid "Series index." -msgstr "" +msgstr "Índice da série" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:488 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:516 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 msgid "Book " -msgstr "" +msgstr "Livro " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:490 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:524 msgid "Source en&coding:" -msgstr "" +msgstr "Codifi&cação da fonte:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:491 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:518 msgid "Base &font size:" -msgstr "" +msgstr "Tamanho do &tipo de letra:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:492 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:506 @@ -2910,79 +3101,79 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:510 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:512 msgid " pt" -msgstr "" +msgstr " pt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:493 msgid "Remove &spacing between paragraphs" -msgstr "" +msgstr "Remover o e&spaçamento entre parágrafos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:494 msgid "Preserve &tag structure when splitting" -msgstr "" +msgstr "Preservar a estrutura das e&tiquetas quando separar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:495 msgid "&Rescale images" -msgstr "" +msgstr "&Redimensionar imagens" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:496 msgid "&Ignore tables" -msgstr "" +msgstr "&Ignorar tabelas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:497 msgid "&Use author sort to set author field in output" -msgstr "" +msgstr "&Usar a ordenação do autor para definir o autor no resultado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:498 msgid "No text &justification" -msgstr "" +msgstr "Não &justificar o texto" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:499 msgid "&Linearize tables" -msgstr "" +msgstr "&Linearizar as tabelas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:500 msgid "Remove &first image from source file" -msgstr "" +msgstr "Remover a &primeira imagem do ficheiro fonte" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:501 msgid "Override &CSS" -msgstr "" +msgstr "Anular &CSS" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:503 msgid "&Source profile:" -msgstr "" +msgstr "Perfil &fonte:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:504 msgid "&Destination profile:" -msgstr "" +msgstr "Perfil de &Destino:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:505 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:541 msgid "&Left Margin:" -msgstr "" +msgstr "Margem &Esquerda:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:507 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:543 msgid "&Right Margin:" -msgstr "" +msgstr "Margem Di&reita:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:509 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:545 msgid "&Top Margin:" -msgstr "" +msgstr "Margem &Superior:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:511 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:547 msgid "&Bottom Margin:" -msgstr "" +msgstr "Margem &Inferior:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:513 msgid "Do not &split on page breaks" -msgstr "" +msgstr "Não &separar nas quebras de página" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:514 msgid "&Page map" -msgstr "" +msgstr "Mapa da &Página" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:515 msgid "" @@ -2993,18 +3184,25 @@ msgid "" "pages in a paper book, to locations in the e-book. This controls where Adobe " "Digital Editions displays the page numbers in the right margin.</p>" msgstr "" +"<p>Pode controlar o modo como o Calibre detecta os limites de página usando " +"uma expressão XPath. Para aprender a usar expressões XPath veja o <a " +"href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">tutorial " +"XPath</a>. Os limites de página só são úteis se quiser a estrutura de " +"páginas do livro de papel nas localizações do livro. Isto controla onde é " +"que o Adobe Digital Editions apresenta os números de página na margem " +"direita.</p>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:516 msgid "&Boundary XPath:" -msgstr "" +msgstr "&Limite XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:517 msgid "&Name XPath:" -msgstr "" +msgstr "&Nome XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:518 msgid "Automatic &chapter detection" -msgstr "" +msgstr "Detecção automática de &capítulos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:519 msgid "" @@ -3013,264 +3211,283 @@ msgid "" "href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">XPath " "tutorial</a></p>" msgstr "" +"<p>Pode controlar o modo como o Calibre detecta os capítulos usando uma " +"expressão XPath. Para aprender a usar expressões XPath veja o <a " +"href=\"http://calibre.kovidgoyal.net/user_manual/xpath.html\">tutorial " +"XPath</a></p>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:520 msgid "&XPath:" -msgstr "" +msgstr "&XPath:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:521 msgid "Chapter &mark:" -msgstr "" +msgstr "&Marca do capítulo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:522 msgid "Automatic &Table of Contents" -msgstr "" +msgstr "&Tabela de Conteúdos automática" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:523 msgid "Number of &links to add to Table of Contents" -msgstr "" +msgstr "Número de &ligações a adicionar à Tabela de Conteúdos:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:524 msgid "Do not add &detected chapters to the Table of Contents" -msgstr "" +msgstr "Não adicionar os capítulos &detectados à Tabela de Conteúdos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:525 msgid "Chapter &threshold" -msgstr "" +msgstr "&Limite de capítulos:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:526 msgid "&Force use of auto-generated Table of Contents" -msgstr "" +msgstr "&Forçar a utilização de Tabelas de Conteúdos geradas automaticamente" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:527 msgid "Level &1 TOC" -msgstr "" +msgstr "Tabela de Conteúdos de Nível &1:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:528 msgid "Level &2 TOC" -msgstr "" +msgstr "Tabela de Conteúdos de Nível &2:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:529 msgid "&Title for generated TOC" -msgstr "" +msgstr "&Título para Tabela de Conteúdos gerada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:530 msgid "Level &3 TOC" -msgstr "" +msgstr "Tabela de Conteúdos de Nível &3:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:38 msgid "Author Sort" -msgstr "" +msgstr "Ordenação do autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:40 msgid "ISBN" -msgstr "" +msgstr "ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:104 msgid "Cannot connect" -msgstr "" +msgstr "É impossível ligar" #: /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 "Deve especificar uma chave de acesso válida em isbndb.com" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:139 msgid "Error fetching metadata" -msgstr "" +msgstr "Erro ao ir buscar os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "No metadata found" -msgstr "" +msgstr "Não foram encontrados metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:144 msgid "" "No metadata found, try adjusting the title and author or the ISBN key." msgstr "" +"Não foram encontrados metadados, experimente ajustar o título e o autor ou a " +"chave ISBN." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:77 msgid "Fetch metadata" -msgstr "" +msgstr "Ir buscar metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:78 msgid "Fetching metadata for <b>%1</b>" -msgstr "" +msgstr "Ir buscar metadados para <b>%1</b>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:79 msgid "" "Sign up for a free account from <a " "href=\"http://www.isbndb.com\">ISBNdb.com</a> to get an access key." msgstr "" +"Registar para uma conta grátis em <a " +"href=\"http://www.isbndb.com\">ISBNdb.com</a> para ter uma chave de acesso." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:80 msgid "&Access Key:" -msgstr "" +msgstr "Chave de &Accesso:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:81 msgid "Fetch" -msgstr "" +msgstr "Ir buscar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:82 msgid "Matches" -msgstr "" +msgstr "Resultados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:83 msgid "" "Select the book that most closely matches your copy from the list below" -msgstr "" +msgstr "Seleccionar o livro que é mais parecido com a seu da lista abaixo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/job_view_ui.py:37 msgid "Details of job" -msgstr "" +msgstr "Detalhes do processo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs.py:27 msgid "Unavailable" -msgstr "" +msgstr "Indisponível" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs.py:38 msgid " - Jobs" -msgstr "" +msgstr " - Processos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:38 msgid "Active Jobs" -msgstr "" +msgstr "Processos Activos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:39 msgid "&Stop selected job" -msgstr "" +msgstr "&Parar o processo seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:98 msgid "Choose the format to convert into LRF" -msgstr "" +msgstr "Escolher o formato para converter em LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:106 msgid "Convert %s to LRF" -msgstr "" +msgstr "Converter %s em LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:360 msgid "Set conversion defaults" -msgstr "" +msgstr "Definir as predefinições para conversão" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:258 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:341 msgid "No preprocessing" -msgstr "" +msgstr "Sem pré-processamento" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:261 msgid "" "Preprocess the file before converting to LRF. This is useful if you know " "that the file is from a specific source. Known sources:" msgstr "" +"Pré-processar antes de converter em LRF. Isto é útil quando se sabe que " +"ficheiro vem de uma fonte específica. Fontes conhecidas:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:262 msgid "<ol><li><b>baen</b> - Books from BAEN Publishers</li>" -msgstr "" +msgstr "<ol><li><b>baen</b> - Livros da Editora BAEN</li>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:263 msgid "" "<li><b>pdftohtml</b> - HTML files that are the output of the program " "pdftohtml</li>" msgstr "" +"<li><b>pdftohtml</b> - Ficheiros HTML que são o resultado do programa " +"pdftohtml</li>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:264 msgid "<li><b>book-designer</b> - HTML0 files from Book Designer</li>" msgstr "" +"<li><b>book-designer</b> - Ficheiros HTML0 do programa Book Designer</li>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:297 msgid "" "Specify metadata such as title and author for the book.<p>Metadata will be " "updated in the database as well as the generated LRF file." msgstr "" +"Especificar os metadados como o título e o autor do livro.<p>Os metadados " +"serão actualizados na base de dados assim como no ficheiro LRF gerado." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:298 msgid "" "Adjust the look of the generated LRF file by specifying things like font " "sizes and the spacing between words." msgstr "" +"Ajustar a aparência do ficheiro LRF especificando coisas como o tamanho do " +"tipo de letra e o espaçamento entre as palavras." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:299 msgid "" "Specify the page settings like margins and the screen size of the target " "device." msgstr "" +"Especificar as definições da página como margens e o tamanho do écran do " +"leitor de destino." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:309 msgid "<font color=\"gray\">No help available</font>" -msgstr "" +msgstr "<font color=\"gray\">Sem ajuda disponível</font>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:412 msgid "Bulk convert ebooks to LRF" -msgstr "" +msgstr "Converter os livros a granel em LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:494 msgid "Convert to LRF" -msgstr "" +msgstr "Converter em LRF" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:495 msgid "Category" -msgstr "" +msgstr "Categoria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:519 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:526 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:528 msgid " pts" -msgstr "" +msgstr " pts" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:520 msgid "Embedded Fonts" -msgstr "" +msgstr "Tipos de Letra Integrados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:521 msgid "&Serif:" -msgstr "" +msgstr "&Serif:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:522 msgid "S&ans-serif:" -msgstr "" +msgstr "S&ans-serif:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:523 msgid "&Monospace:" -msgstr "" +msgstr "&Monospace:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:525 msgid "Minimum &indent:" -msgstr "" +msgstr "&Avanço mínimo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:527 msgid "&Word spacing:" -msgstr "" +msgstr "Espaçamento das &palavras:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:529 msgid "Enable auto &rotation of images" -msgstr "" +msgstr "Activar a &rotação automática de imagens" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:530 msgid "Insert &blank lines between paragraphs" -msgstr "" +msgstr "Inserir linhas em &branco entre os parágrafos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:531 msgid "Ignore &tables" -msgstr "" +msgstr "Ignorar &tabelas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:532 msgid "Ignore &colors" -msgstr "" +msgstr "Ignorar &cores" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:533 msgid "&Preprocess:" -msgstr "" +msgstr "&Pré-processamento:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:534 msgid "Header" -msgstr "" +msgstr "Cabeçalho" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:535 msgid "&Show header" -msgstr "" +msgstr "&Mostrar cabeçalho" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:536 msgid "&Header format:" -msgstr "" +msgstr "Formato do &cabeçalho:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:537 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:542 @@ -3280,63 +3497,63 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:107 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:109 msgid " px" -msgstr "" +msgstr " px" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:538 msgid "Header &separation:" -msgstr "" +msgstr "&Separação do cabeçalho:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:539 msgid "Override<br>CSS" -msgstr "" +msgstr "Anular<br>CSS" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:549 msgid "&Convert tables to images (good for large/complex tables)" -msgstr "" +msgstr "&Converter tabelas em imagens (bom para tabelas grandes/complexas)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:550 msgid "&Multiplier for text size in rendered tables:" -msgstr "" +msgstr "&Multiplicador para o tamanho do texto nas tabelas representadas:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:551 msgid "Title based detection" -msgstr "" +msgstr "Detecção baseada no título" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:552 msgid "&Disable chapter detection" -msgstr "" +msgstr "&Desactivar a detecção de capítulos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:553 msgid "&Regular expression:" -msgstr "" +msgstr "Expressão &Regular" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:554 msgid "Add &chapters to table of contents" -msgstr "" +msgstr "Adicionar &capítulos à Tabela de Conteúdos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:555 msgid "Don't add &links to the table of contents" -msgstr "" +msgstr "Não adicionar &ligações à Tabela de Conteúdos" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:556 msgid "Tag based detection" -msgstr "" +msgstr "Detecção baseada nas etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:557 msgid "&Page break before tag:" -msgstr "" +msgstr "Quebra de &página antes da etiqueta:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:558 msgid "&Force page break before tag:" -msgstr "" +msgstr "&Forçar quebras de página antes da etiqueta:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:559 msgid "Force page break before &attribute:" -msgstr "" +msgstr "Forçar quebras de página antes de &attribute:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:560 msgid "Detect chapter &at tag:" -msgstr "" +msgstr "Detectar o caítulo &at etiqueta:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:561 msgid "" @@ -3354,17 +3571,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:126 msgid "Edit Meta information" -msgstr "" +msgstr "Editar os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:329 msgid "Meta information" -msgstr "" +msgstr "Metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:335 msgid "Author S&ort: " -msgstr "" +msgstr "&Ordenação dos Autores: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:336 @@ -3372,76 +3589,78 @@ msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." msgstr "" +"Especificar como é que o(s) autor(es) deste livro deve(m) ser ordenado(s). " +"Por exemplo: Charles Dickens deve ser ordenado como Dickens, Charles." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:339 msgid "&Rating:" -msgstr "" +msgstr "&Avaliação:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:341 msgid "Rating of this book. 0-5 stars" -msgstr "" +msgstr "Avaliação deste livro. 0-5 estrelas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:135 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:342 msgid " stars" -msgstr "" +msgstr " estrelas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:138 msgid "Add Ta&gs: " -msgstr "" +msgstr "Adicionar Etiqueta&s: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:140 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:141 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:346 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:347 msgid "Open Tag Editor" -msgstr "" +msgstr "Abrir o Editor de Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:142 msgid "&Remove tags:" -msgstr "" +msgstr "&Remover etiquetas:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:143 msgid "Comma separated list of tags to remove from the books. " -msgstr "" +msgstr "Lista de etiquetas separadas por vírgulas a remover dos livros. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:147 msgid "Remove &format:" -msgstr "" +msgstr "Remover &formatos:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:148 msgid "A&utomatically set author sort" -msgstr "" +msgstr "Definir a&utomaticamente a ordenação do autor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:117 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 msgid "No format selected" -msgstr "" +msgstr "Sem formato seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "Could not read metadata" -msgstr "" +msgstr "É impossível ler os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:129 msgid "Could not read metadata from %s format" -msgstr "" +msgstr "É impossível ler os metadados do formato %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:143 msgid "Could not read cover" -msgstr "" +msgstr "É impossível ler a capa" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:138 msgid "Could not read cover from %s format" -msgstr "" +msgstr "É impossível ler a capa do formato %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:144 msgid "The cover in the %s format is invalid" -msgstr "" +msgstr "A capa do formato %s é inválida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:325 msgid "" @@ -3449,88 +3668,97 @@ msgid "" "do not have one, you can <a href='http://www.librarything.com'>register</a> " "for free!.</p>" msgstr "" +"<p>Insira o utilizador e palavra-passe para <b>LibraryThing.com</b>. <br/>Se " +"não os tem pode <a href='http://www.librarything.com'>registar-se</a> " +"gratuitamente!.</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "Capa com erros" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "A capa não é uma imagem válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" -msgstr "" +msgstr "É impossível ir buscar a capa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>É impossível ir buscar a capa.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." -msgstr "" +msgstr "Tem de especificar o ISBN deste livro." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:328 msgid "Edit Meta Information" -msgstr "" +msgstr "Editar os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:332 msgid "Swap the author and title" -msgstr "" +msgstr "Trocar o autor e o título" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:337 msgid "" "Automatically create the author sort entry based on the current author entry" -msgstr "" +msgstr "Criar automaticamente a ordenação do autor baseado na entrada actual" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:351 msgid "Remove unused series (Series that have no books)" -msgstr "" +msgstr "Remover séries não usadas (Séries que não têm livros)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 msgid "IS&BN:" -msgstr "" +msgstr "IS&BN:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 msgid "Fetch metadata from server" -msgstr "" +msgstr "Ir buscar os metadados ao servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 msgid "Available Formats" -msgstr "" +msgstr "Formatos disponíveis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Add a new format for this book to the database" -msgstr "" +msgstr "Adicionar um novo formato para este livro à base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "Remove the selected formats for this book from the database." -msgstr "" +msgstr "Remover os formatos seleccionados deste livro da base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Set the cover for the book from the selected format" -msgstr "" +msgstr "Definir a capa para o livro a partir do formato seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 msgid "Reset cover to default" -msgstr "" +msgstr "Reiniciar a capa para a predefinida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 msgid "Fetch cover image from server" -msgstr "" +msgstr "Ir buscar uma imagem para a capa ao servidor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "" "Change the username and/or password for your account at LibraryThing.com" msgstr "" +"Mudar o utilizador e/ou a palavra-passe da sua conta em LibraryThing.com" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid "Change password" -msgstr "" +msgstr "Mudar a palavra-passe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:55 msgid "Password needed" -msgstr "" +msgstr "É necessário a sua palavra-passe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:43 msgid "Aborting..." -msgstr "" +msgstr "A cancelar..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:40 msgid "You" @@ -3539,175 +3767,171 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:138 msgid "Custom" -msgstr "" +msgstr "Personalizar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:136 msgid "Scheduled" -msgstr "" +msgstr "Programado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" -msgstr "" +msgstr "Procurar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:308 msgid "%d recipes" -msgstr "" +msgstr "%d recaitas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Monday" -msgstr "" +msgstr "Segunda-Feira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Tuesday" -msgstr "" +msgstr "Terça-Feira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "Wednesday" -msgstr "" +msgstr "Quarta-Feira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:309 msgid "day" -msgstr "" +msgstr "dia" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Friday" -msgstr "" +msgstr "Sexta-Feira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Saturday" -msgstr "" +msgstr "Sábado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Sunday" -msgstr "" +msgstr "Domingo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:310 msgid "Thursday" -msgstr "" +msgstr "Quinta-Feira" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:343 msgid "Must set account information" -msgstr "" +msgstr "Deve definir a informação da conta" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:344 msgid "This recipe requires a username and password" -msgstr "" +msgstr "Esta receita necessita da um utilizador e uma palavra-passe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " -msgstr "" +msgstr "Creado por: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" -msgstr "" +msgstr "à %d dias, %d horas e %d minutos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" -msgstr "" +msgstr "Último descarregamento" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" -msgstr "" +msgstr "Último descarregamento: nunca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" -msgstr "" +msgstr "Programar o descarregamento de notícias" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" -msgstr "" +msgstr "Adicionar uma fonte de notícias personalizada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" -msgstr "" +msgstr "Notícias" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" -msgstr "" +msgstr "Receitas" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 +msgid "Schedule for download" +msgstr "Programar para descarregar" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "excerto" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +msgid "&Schedule for download:" +msgstr "&Programar para descarregar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 -msgid "Schedule for download" -msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 +msgid "Every " +msgstr "Todo " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" +msgid "at" +msgstr "em" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 -msgid "&Schedule for download:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 -msgid "Every " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 -msgid "at" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" +"Intervalo no qual descarregar esta receita. Um valor 0 quer dizer que a " +"receita vai ser descarregada de hora a hora.." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" -msgstr "" +msgstr " dias" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 +msgid "&Account" +msgstr "&Conta" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 +msgid "For the scheduling to work, you must leave calibre running." +msgstr "Para a programação funcionar tem de deixar o Calibre a correr." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 -msgid "&Account" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 -msgid "For the scheduling to work, you must leave calibre running." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 msgid "&Download now" -msgstr "" +msgstr "&Descarregar agora" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" +"Apagar as notícias descarregadas mais antigas que o número de dias " +"especificado. Definir 0 para desactivar." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " -msgstr "" +msgstr "Apagar as notícias mais antigas que " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:96 msgid "Form" -msgstr "" +msgstr "De" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 msgid "contains" -msgstr "" +msgstr "contém" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 msgid "The text to search for. It is interpreted as a regular expression." -msgstr "" +msgstr "O texto a procurar. É interpretado como uma expressão regular." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 msgid "" @@ -3721,100 +3945,107 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:88 msgid "Advanced Search" -msgstr "" +msgstr "Procura Avançada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:89 msgid "Find entries that have..." -msgstr "" +msgstr "Encontrar as entradas que têm..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:90 msgid "&All these words:" -msgstr "" +msgstr "&Todas estas palavras:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:91 msgid "This exact &phrase:" -msgstr "" +msgstr "Esta &frase exacta:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:92 msgid "&One or more of these words:" -msgstr "" +msgstr "&Uma ou mais destas palavras:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:93 msgid "But dont show entries that have..." -msgstr "" +msgstr "Mas não mostrar as entradas que têm..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:94 msgid "Any of these &unwanted words:" -msgstr "" +msgstr "Alguma destas palavras &indesejadas:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:95 msgid "" "See the <a href=\"http://calibre.kovidgoyal.net/user_manual/gui.html#the-" "search-interface\">User Manual</a> for more help" msgstr "" +"Ver o <a href=\"http://calibre.kovidgoyal.net/user_manual/gui.html#the-" +"search-interface\">Manual do Utilizador</a> para mais ajuda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:123 msgid "Tag Editor" -msgstr "" +msgstr "Editor de Etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:124 msgid "A&vailable tags" -msgstr "" +msgstr "Etiquetas Disponí&veis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:125 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" +"Apagar a etiqueta da base de dados. Isto vai retirar a etiqueta de todos os " +"livros e depois removê-la da base de dados." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:127 msgid "Apply tag to current book" -msgstr "" +msgstr "Aplicar a etiqueta ao livro actual" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&pplied tags" -msgstr "" +msgstr "Etiquetas A&plicadas" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "Unapply (remove) tag from current book" -msgstr "" +msgstr "Remover a etiqueta do livro actual" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "&Add tag:" -msgstr "" +msgstr "&Adicionar etiqueta:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:133 msgid "" "If the tag you want is not in the available list, you can add it here. " "Accepts a comma separated list of tags." msgstr "" +"Se a etiqueta que quer não está na lista, pode adicioná-la aqui. Aceita uma " +"lista de etiquetas separada por vírgulas." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:134 msgid "Add tag to available tags and apply it to current book" msgstr "" +"Adicionar a etiqueta às etiquetas disponíveis e aplicá-la ao livro actual" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:62 msgid "No recipe selected" -msgstr "" +msgstr "Sem receita seleccionada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:68 msgid "The attached file: %s is a recipe to download %s." -msgstr "" +msgstr "O ficheiro anexo: %s é a receita para descarregar %s." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:69 msgid "Recipe for " -msgstr "" +msgstr "Receita para " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:255 msgid "Switch to Advanced mode" -msgstr "" +msgstr "Mudar para o modo Avançado" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:99 msgid "Switch to Basic mode" -msgstr "" +msgstr "Mudar para o modo Básico" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:109 msgid "Feed must have a title" @@ -3834,7 +4065,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:120 msgid "Already exists" -msgstr "" +msgstr "Já existe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:121 msgid "This feed has already been added to the recipe" @@ -3844,65 +4075,65 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:228 msgid "Invalid input" -msgstr "" +msgstr "Entrada inválida" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:229 msgid "<p>Could not create recipe. Error:<br>%s" -msgstr "" +msgstr "<p>É impossível criar a receita. Erro:<br>%s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:178 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:234 msgid "Replace recipe?" -msgstr "" +msgstr "Substituir a receita?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:235 msgid "A custom recipe named %s already exists. Do you want to replace it?" -msgstr "" +msgstr "A receita personalizada %s já existe. Quer substituí-la?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 msgid "Pick recipe" -msgstr "" +msgstr "Escolha a receita" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:201 msgid "Pick the recipe to customize" -msgstr "" +msgstr "Escolha a receita para personalizar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Choose a recipe file" -msgstr "" +msgstr "Escolher um ficheiro de receita" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:248 msgid "Add custom news source" -msgstr "" +msgstr "Adicionar uma fonte de notícias personalizada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:249 msgid "Available user recipes" -msgstr "" +msgstr "Receitas de utilizadores disponíveis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:250 msgid "Add/Update &recipe" -msgstr "" +msgstr "Adicionar/Actualizar a &receita" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:251 msgid "&Remove recipe" -msgstr "" +msgstr "&Remover receita" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:252 msgid "&Share recipe" -msgstr "" +msgstr "&Partilhar a receita" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:253 msgid "Customize &builtin recipe" -msgstr "" +msgstr "Personalizar a receita &integrada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:254 msgid "&Load recipe from file" -msgstr "" +msgstr "&Carregar a receita do ficheiro" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:256 msgid "" @@ -3920,15 +4151,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:260 msgid "Recipe &title:" -msgstr "" +msgstr "&Título da receita:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:261 msgid "&Oldest article:" -msgstr "" +msgstr "Artigo mais &antigo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:262 msgid "The oldest article to download" -msgstr "" +msgstr "O artigo mais antigo para descarregar" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:264 msgid "&Max. number of articles per feed:" @@ -3968,10 +4199,13 @@ msgid "" "For help with writing advanced news recipes, please visit <a " "href=\"http://calibre.kovidgoyal.net/user_manual/news.html\">User Recipes</a>" msgstr "" +"Para ajuda em criar receitas avançadas de notícias, por favor visite <a " +"href=\"http://calibre.kovidgoyal.net/user_manual/news.html\">Receitas de " +"Utilizadores</a>" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 msgid "Recipe source code (python)" -msgstr "" +msgstr "Código fonte da receita (python)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:97 msgid "" @@ -3999,27 +4233,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:104 msgid "Regular &expression" -msgstr "" +msgstr "&Expressão regular" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:105 msgid "&Test" -msgstr "" +msgstr "&Teste" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:106 msgid "File &name:" -msgstr "" +msgstr "&Nome do ficheiro:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:107 msgid "Test" -msgstr "" +msgstr "Teste" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:108 msgid "Title:" -msgstr "" +msgstr "Título:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:109 msgid "Regular expression (?P<title>)" -msgstr "" +msgstr "Expressão regular (?P<title>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:113 @@ -4032,138 +4266,140 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:70 msgid "No match" -msgstr "" +msgstr "Sem resultados" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111 msgid "Authors:" -msgstr "" +msgstr "Autores:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "Regular expression (?P<authors>)" -msgstr "" +msgstr "Expressão regular (?P<authors>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:114 msgid "Series:" -msgstr "" +msgstr "Série:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:115 msgid "Regular expression (?P<series>)" -msgstr "" +msgstr "Expressão regular (?P<series>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:117 msgid "Series index:" -msgstr "" +msgstr "Índice da série:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:118 msgid "Regular expression (?P<series_index>)" -msgstr "" +msgstr "Expressão regular (?P<series_index>)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:120 msgid "ISBN:" -msgstr "" +msgstr "ISBN:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 msgid "Regular expression (?P<isbn>)" -msgstr "" +msgstr "Expressão regular (?P<isbn>)" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:46 msgid "Job" -msgstr "" +msgstr "Processo" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:47 msgid "Status" -msgstr "" +msgstr "Estado" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:48 msgid "Progress" -msgstr "" +msgstr "Progresso" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:49 msgid "Running time" -msgstr "" +msgstr "Tempo de execução" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:65 msgid "Unknown job" -msgstr "" +msgstr "Processo desconhecido" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:70 msgid "Finished" -msgstr "" +msgstr "Acabou" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:72 msgid "Error" -msgstr "" +msgstr "Erro" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:74 msgid "Waiting" -msgstr "" +msgstr "À espera" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:76 msgid "Working" -msgstr "" +msgstr "A trabalhar" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:176 msgid "Cannot kill job" -msgstr "" +msgstr "É impossível parar o processo" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:173 msgid "Cannot kill jobs that communicate with the device" -msgstr "" +msgstr "É impossível parar os processos que comunicam com o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/jobs2.py:177 msgid "Job has already run" -msgstr "" +msgstr "O processo já correu" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:968 msgid "Size (MB)" -msgstr "" +msgstr "Tamanho (MB)" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:969 msgid "Date" -msgstr "" +msgstr "Data" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:110 msgid "Rating" -msgstr "" +msgstr "Avaliação" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:308 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 #: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 msgid "None" -msgstr "" +msgstr "Vazio" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:325 msgid "Book <font face=\"serif\">%s</font> of %s." -msgstr "" +msgstr "Livro <font face=\"serif\">%s</font> de %s." #: /home/kovid/work/calibre/src/calibre/gui2/library.py:740 msgid "Not allowed" -msgstr "" +msgstr "Não permitido" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:741 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." msgstr "" +"Arrastar para o leitor não é suportado. Primeiro adicionar o livro à " +"biblioteca do Calibre." #: /home/kovid/work/calibre/src/calibre/gui2/library.py:904 msgid "Format" -msgstr "" +msgstr "Formato" #: /home/kovid/work/calibre/src/calibre/gui2/library.py:1003 msgid "Search (For Advanced Search click the button to the left)" -msgstr "" +msgstr "Procura (Para a Procura Avançada clique no botão da esquerda)" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:47 msgid "Configure Viewer" -msgstr "" +msgstr "Configurar Visualizador" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:48 msgid "Use white background" -msgstr "" +msgstr "Usar um fundo branco" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:49 msgid "Hyphenate" @@ -4171,204 +4407,212 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/config_ui.py:50 msgid "<b>Changes will only take effect after a restart.</b>" -msgstr "" +msgstr "<b>As mudanças só terão efeito depois de reiniciar.</b>" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:64 msgid " - LRF Viewer" -msgstr "" +msgstr " - Visualizador LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" +"<b>Não foram encontrados resultados</b> para a frase procurada <i>%s</i> ." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" -msgstr "" +msgstr "Não foram encontrados resultados" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 msgid "LRF Viewer" -msgstr "" +msgstr "Visualizador LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 msgid "Parsing LRF file" -msgstr "" +msgstr "A analisar o ficheiro LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 msgid "LRF Viewer toolbar" -msgstr "" +msgstr "Barra de ferramentas do Visualizador LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 msgid "Next Page" -msgstr "" +msgstr "Página Seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 msgid "Previous Page" -msgstr "" +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:154 msgid "Back" -msgstr "" +msgstr "Para trá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:155 msgid "Forward" -msgstr "" +msgstr "Para a frente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 msgid "Next match" -msgstr "" +msgstr "Resultados seguintes" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:162 msgid "Open ebook" -msgstr "" +msgstr "Abrir o livro" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" -msgstr "" +msgstr "Configurar" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:89 msgid "Error communicating with device" -msgstr "" +msgstr "Erro ao comunicar com o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:101 msgid "&Restore" -msgstr "" +msgstr "&Restaurar" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:102 msgid "&Donate to support calibre" -msgstr "" +msgstr "&Faça um donativo para ajudar o Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:105 msgid "&Restart" -msgstr "" +msgstr "&Reiniciar" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:136 msgid "" "<p>For help visit <a " "href=\"http://%s.kovidgoyal.net/user_manual\">%s.kovidgoyal.net</a><br>" msgstr "" +"<p>Para ajuda visite <a " +"href=\"http://%s.kovidgoyal.net/user_manual\">%s.kovidgoyal.net</a><br>" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:137 msgid "<b>%s</b>: %s by <b>Kovid Goyal %%(version)s</b><br>%%(device)s</p>" -msgstr "" +msgstr "<b>%s</b>: %s por <b>Kovid Goyal %%(version)s</b><br>%%(device)s</p>" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 msgid "Send to main memory" -msgstr "" +msgstr "Enviar para a memória principal" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 msgid "Send to storage card" -msgstr "" +msgstr "Enviar para o cartão de memória" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:158 msgid "and delete from library" -msgstr "" +msgstr "e apagar da biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:163 msgid "Send to storage card by default" -msgstr "" +msgstr "Enviar para o catão de memória por predefinição" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:172 msgid "Edit metadata individually" -msgstr "" +msgstr "Editar os metadados individualmente" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:174 msgid "Edit metadata in bulk" -msgstr "" +msgstr "Editar os metadados a granel" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:177 msgid "Add books from a single directory" -msgstr "" +msgstr "Adicionar livros a partir de uma pasta" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:178 msgid "" "Add books from directories, including sub-directories (One book per " "directory, assumes every ebook file is the same book in a different format)" msgstr "" +"Adicionar livros a partir de pastas, incluindo sub-pastas (Um livro por " +"pasta, assume que todos os ficheiros de livros na mesma pasta estão em " +"formatos diferentes)" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 msgid "" "Add books from directories, including sub directories (Multiple books per " "directory, assumes every ebook file is a different book)" msgstr "" +"Adicionar livros a partir de pastas, incluindo sub-pastas (Múltiplos livros " +"por pasta, assume que todos os ficheiros de livros são livros diferentes)" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:358 msgid "Save to disk" -msgstr "" +msgstr "Guardar no disco" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:195 msgid "Save to disk in a single directory" -msgstr "" +msgstr "Guardar no disco numa única pasta" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1261 msgid "Save only %s format to disk" -msgstr "" +msgstr "Guardar só os formatos %s no disco" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:199 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:364 msgid "View" -msgstr "" +msgstr "Ver" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:200 msgid "View specific format" -msgstr "" +msgstr "Ver o formato específico" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:217 msgid "Convert individually" -msgstr "" +msgstr "Converter individualmente" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:218 msgid "Bulk convert" -msgstr "" +msgstr "Converter a granel" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:220 msgid "Set defaults for conversion" -msgstr "" +msgstr "Definir as predefinições para a conversão" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:221 msgid "Set defaults for conversion of comics" -msgstr "" +msgstr "Definir as predefinições para a conversão de banda desenhada" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:243 msgid "Similar books..." -msgstr "" +msgstr "Livros semelhantes..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:291 msgid "Bad database location" -msgstr "" +msgstr "Localização da base de dados com erros" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:293 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1404 msgid "Choose a location for your ebook library." -msgstr "" +msgstr "Escolher a localização para a sua biblioteca de livros" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:448 msgid "Browse by covers" -msgstr "" +msgstr "Navegar pelas capas" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:538 msgid "Device: " -msgstr "" +msgstr "Leitor: " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:539 msgid " detected." -msgstr "" +msgstr " detectado." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:561 msgid "Connected " -msgstr "" +msgstr "Ligado " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:572 msgid "Device database corrupted" -msgstr "" +msgstr "Base de dados do leitor corrompida" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:573 msgid "" @@ -4389,134 +4633,142 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:716 msgid "Uploading books to device." -msgstr "" +msgstr "A carregar livros para o leitor." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:672 msgid "Books" -msgstr "" +msgstr "Livros" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:673 msgid "EPUB Books" -msgstr "" +msgstr "Livros em formato EPUB" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:674 msgid "LRF Books" -msgstr "" +msgstr "Livros em formato LRF" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:675 msgid "HTML Books" -msgstr "" +msgstr "Livros em formato HTML" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:676 msgid "LIT Books" -msgstr "" +msgstr "Livros em formato LIT" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:677 msgid "MOBI Books" -msgstr "" +msgstr "Livros em formato MOBI" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:678 msgid "Text books" -msgstr "" +msgstr "Livros em formato texto" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:679 msgid "PDF Books" -msgstr "" +msgstr "Livros em formato PDF" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:680 msgid "Comics" -msgstr "" +msgstr "Banda desenhada" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:681 msgid "Archives" -msgstr "" +msgstr "Arquivos" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:702 msgid "Adding books..." -msgstr "" +msgstr "A adicionar livros..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:745 msgid "No space on device" -msgstr "" +msgstr "Sem espaço no leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:746 msgid "" "<p>Cannot upload books to device there is no more free space available " msgstr "" +"<p>É impossível carregar os livros para o leitor porque já não há mais " +"espaço disponível " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:778 msgid "" "The selected books will be <b>permanently deleted</b> and the files removed " "from your computer. Are you sure?" msgstr "" +"Os livros seleccionados vão ser <b>permanentemente apagados</b> e os " +"ficheiros removidos do seu computador. Tem a certeza?" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:790 msgid "Deleting books from device." -msgstr "" +msgstr "A apagar livros do leitor." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 msgid "Cannot edit metadata" -msgstr "" +msgstr "É impossível editar os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:821 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:846 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "No books selected" -msgstr "" +msgstr "Sem livros seleccionados" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:897 msgid "Sending news to device." -msgstr "" +msgstr "Enviar notícias para o leitor." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:900 msgid "Choose format to send to device" -msgstr "" +msgstr "Escolher o formato a enviar para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:954 msgid "Sending books to device." -msgstr "" +msgstr "A enviar livros para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:957 msgid "No suitable formats" -msgstr "" +msgstr "Sem formatos suportados" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:958 msgid "" "Could not upload the following books to the device, as no suitable formats " "were found:<br><ul>%s</ul>" msgstr "" +"É impossível carregar os deguintes livros para o leitor, visto que não foram " +"encontrados os formatos adequados:<br><ul>%s</ul>" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:975 msgid "Cannot save to disk" -msgstr "" +msgstr "É impossível guardar no disco" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:979 msgid "Saving to disk..." -msgstr "" +msgstr "A guardar no disco..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:984 msgid "Saved" -msgstr "" +msgstr "Guardado" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:990 msgid "Choose destination directory" -msgstr "" +msgstr "Escolher a pasta de destino" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1004 msgid "" "<p>Could not save the following books to disk, because the %s format is not " "available for them:<ul>" msgstr "" +"<p>É impossível guardar os seguintes livros no disco porque o formato %s não " +"está disponível para eles:<ul>" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1008 msgid "Could not save some ebooks" -msgstr "" +msgstr "É impossível guardar alguns livros" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1030 msgid "Fetching news from " -msgstr "" +msgstr "Ir buscar notícias a " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1044 msgid " fetched." @@ -4526,160 +4778,186 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1183 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1195 msgid "No book selected" -msgstr "" +msgstr "Sem livro seleccionado" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1165 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1195 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1213 msgid "Cannot view" -msgstr "" +msgstr "É impossível ver" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1171 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1218 msgid "Choose the format to view" -msgstr "" +msgstr "Escolher o formato para ver" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1183 msgid "Cannot open folder" -msgstr "" +msgstr "É impossível abrir a pasta" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1214 msgid "%s has no available formats." -msgstr "" +msgstr "%s não tem formatos disponíveis." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252 msgid "Cannot configure" -msgstr "" +msgstr "É impossível configurar" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1252 msgid "Cannot configure while there are running jobs." -msgstr "" +msgstr "É impossível configurar enquanto estiverem processos a correr." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1270 msgid "Copying database" -msgstr "" +msgstr "A copiar a base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1272 msgid "Copying library to " -msgstr "" +msgstr "A copiar a biblioteca para " #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1282 msgid "Invalid database" -msgstr "" +msgstr "Base de dados inválida" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1283 msgid "" "<p>An invalid database already exists at %s, delete it before trying to move " "the existing database.<br>Error: %s" msgstr "" +"<p>Já existe uma base de dados inválida em %s, apague-a antes de tentar " +"mover a base de dados existente.<br>Erro: %s" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1289 msgid "Could not move database" -msgstr "" +msgstr "É impossível mover a base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1309 msgid "No detailed info available" -msgstr "" +msgstr "Sem informação detalhada disponível" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1310 msgid "No detailed information is available for books on the device." -msgstr "" +msgstr "Sem informação detalhada disponível para os livros no leitor." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1354 msgid "Error talking to device" -msgstr "" +msgstr "Erro ao comunicar com o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1355 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." msgstr "" +"Houve um erro temporário ao comunicar com o leitor. Por favor desligue e " +"volte a ligar o leitor ou reinicie." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1370 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1385 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1389 msgid "Conversion Error" -msgstr "" +msgstr "Erro de Conversão" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1371 msgid "" "<p>Could not convert: %s<p>It is a <a href=\"%s\">DRM</a>ed book. You must " "first remove the DRM using 3rd party tools." msgstr "" +"<p>É impossível converter: %s<p>É um livro com <a href=\"%s\">DRM</a>. " +"Primeiro tem de remover o DRM usando ferramentas de terceiros." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "Localização da biblioteca inválida" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "É impossível aceder %s. A usar %s como a biblioteca." + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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 "" +"é o resultado dos esforços de muitos voluntários pelo mundo inteiro. Se o " +"acha útil, por favor considere fazer um donativo para ajudar no seu " +"desenvolvimento." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" -msgstr "" +msgstr "Existem processos activos. Tem a certeza que quer sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" -msgstr "" +msgstr "ATENÇÂO: Processos activos" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" +"vai continuar a correr na área de notificação. Para fechar escolha " +"<b>Quit</b> no menu de contexto da área de notificação." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" +"<span style=\"color:red; font-weight:bold\">Última versão: <a " +"href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" +"%s foi actualizado para a versão %s. Ver <a " +"href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " +"Visitar a página para descarregar?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" -msgstr "" +msgstr "Actualização disponível" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." -msgstr "" +msgstr "Usar a biblioteca localizada no caminho especificado." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." -msgstr "" +msgstr "Iniciar minimizado na área de notificação." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:333 msgid "calibre" -msgstr "" +msgstr "Calibre" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:335 msgid "Output:" -msgstr "" +msgstr "Formato:" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:336 msgid "" "Set the output format that is used when converting ebooks and downloading " "news" msgstr "" +"Definir o formato que vai ser utilizado para converter os livros e " +"descarregar as notícias" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:337 msgid "Advanced search" -msgstr "" +msgstr "Procura Avançada" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:339 msgid "Alt+S" @@ -4687,23 +4965,28 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:340 msgid "&Search:" -msgstr "" +msgstr "&Procura:" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:341 msgid "" "Search the list of books by title or author<br><br>Words separated by spaces " "are ANDed" msgstr "" +"Procurar na lista de livros, por título ou autor<br><br>Quando existem " +"palavras separadas por espaços os espaços são convertidos em AND" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:342 msgid "" "Search the list of books by title, author, publisher, tags and " "comments<br><br>Words separated by spaces are ANDed" msgstr "" +"Procurar na lista de livros por título, autor, editora, etiquetas e " +"comentários<br><br>Quando existem palavras separadas por espaços os espaços " +"são convertidos em AND" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:343 msgid "Reset Quick Search" -msgstr "" +msgstr "Reiniciar a Procura Rápida" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:347 msgid "Match any" @@ -4715,11 +4998,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:349 msgid "Sort by &popularity" -msgstr "" +msgstr "Ordenar por &popularidade" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:350 msgid "Add books" -msgstr "" +msgstr "Adicionar livros" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:351 msgid "A" @@ -4728,7 +5011,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:352 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:353 msgid "Remove books" -msgstr "" +msgstr "Remover livros" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:354 msgid "Del" @@ -4736,7 +5019,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:355 msgid "Edit meta information" -msgstr "" +msgstr "Editar os metadados" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:356 msgid "E" @@ -4744,7 +5027,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:357 msgid "Send to device" -msgstr "" +msgstr "Enviar para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:359 msgid "S" @@ -4752,7 +5035,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:360 msgid "Fetch news" -msgstr "" +msgstr "Ir buscar notícias" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:361 msgid "F" @@ -4760,7 +5043,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:362 msgid "Convert E-books" -msgstr "" +msgstr "Converter os livros" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:363 msgid "C" @@ -4776,27 +5059,27 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:367 msgid "Show book details" -msgstr "" +msgstr "Mostrar os detalhes do livro" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:368 msgid "Books by same author" -msgstr "" +msgstr "Livros do mesmo autor" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:369 msgid "Books in this series" -msgstr "" +msgstr "Livros nesta série" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:370 msgid "Books by this publisher" -msgstr "" +msgstr "Livros da mesma editora" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:371 msgid "Books with the same tags" -msgstr "" +msgstr "Livros com as mesmas etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:372 msgid "Send specific format to device" -msgstr "" +msgstr "Enviar formato específico para o leitor" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:18 msgid "" @@ -4806,11 +5089,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:57 msgid "&Preferences" -msgstr "" +msgstr "&Preferências" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:58 msgid "&Quit" -msgstr "" +msgstr "&Sair" #: /home/kovid/work/calibre/src/calibre/gui2/main_window.py:84 msgid "ERROR: Unhandled exception" @@ -4818,59 +5101,61 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:115 msgid "Jobs:" -msgstr "" +msgstr "Processos:" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:124 msgid "Click to see list of active jobs." -msgstr "" +msgstr "Clique para ver a lista dos processos activos." #: /home/kovid/work/calibre/src/calibre/gui2/status.py:154 msgid "Click to browse books by their covers" -msgstr "" +msgstr "Clique para navegar os livros pelas capas" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:154 msgid "Click to turn off Cover Browsing" -msgstr "" +msgstr "Clique para desligar a navegação pelas capas" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:159 msgid "" "<p>Browsing books by their covers is disabled.<br>Import of pictureflow " "module failed:<br>" msgstr "" +"<p>Navegar os livros pelas capas está desactivado.<br>Import of pictureflow " +"module failed:<br>" #: /home/kovid/work/calibre/src/calibre/gui2/status.py:167 msgid "Click to browse books by tags" -msgstr "" +msgstr "Clique para navegar os livros pelas etiquetas" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Authors" -msgstr "" +msgstr "Autores" #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Publishers" -msgstr "" +msgstr "Editoras" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:55 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:117 msgid "Convert book: " -msgstr "" +msgstr "Converter livro: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:151 msgid "Convert comic: " -msgstr "" +msgstr "Converter banda desenhada: " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:267 msgid "Starting Bulk conversion of %d books" -msgstr "" +msgstr "Começar a conversão a granel de %d livros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:238 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:307 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:335 msgid "Convert book %d of %d (%s)" -msgstr "" +msgstr "Converter o livro %d de %d (%s)" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:247 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 @@ -4878,72 +5163,74 @@ msgid "" "<p>Could not convert %d of %d books, because no suitable source format was " "found.<ul>%s</ul>" msgstr "" +"<p>É impossível converter %d de %d livros, porque não foi encontrado nenhum " +"formato fonte adequado.<ul>%s</ul>" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 msgid "Could not convert some books" -msgstr "" +msgstr "É impossível converter alguns livros" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:372 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:387 msgid "Fetch news from " -msgstr "" +msgstr "Ir buscar notícias de " #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:384 msgid "You must set a username and password for %s" -msgstr "" +msgstr "Deve definir um utilizador e uma palavra-passe para%s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:101 msgid "Configure Ebook viewer" -msgstr "" +msgstr "Configurar o Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:102 msgid "&Font options" -msgstr "" +msgstr "Opções do &tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:103 msgid "Se&rif family:" -msgstr "" +msgstr "Família se&rif:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:104 msgid "&Sans family:" -msgstr "" +msgstr "Família &sans:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:105 msgid "&Monospace family:" -msgstr "" +msgstr "Família &monospace:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:106 msgid "&Default font size:" -msgstr "" +msgstr "&Tamanho do tipo de letra predefinido:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:108 msgid "Monospace &font size:" -msgstr "" +msgstr "Tamanho do &tipo de letra monospace:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:110 msgid "S&tandard font:" -msgstr "" +msgstr "Tipo de letra &predefinido:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:111 msgid "Serif" -msgstr "" +msgstr "Serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:112 msgid "Sans-serif" -msgstr "" +msgstr "Sans-serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:113 msgid "Monospace" -msgstr "" +msgstr "Monospace" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:114 msgid "&User stylesheet" -msgstr "" +msgstr "Folha de estilos do &utilizador" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 msgid "Options to customize the ebook viewer" -msgstr "" +msgstr "Opções para personalizar o Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:86 @@ -4951,169 +5238,176 @@ msgid "" "Set the user CSS stylesheet. This can be used to customize the look of all " "books." msgstr "" +"Definir a folha de estilos CSS. Pode ser usada para personalizar a aparência " +"de todos os livros." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "Font options" -msgstr "" +msgstr "Opções de tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The serif font family" -msgstr "" +msgstr "A família do tipo de letra serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 msgid "The sans-serif font family" -msgstr "" +msgstr "A família do tipo de letra sans-serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:65 msgid "The monospaced font family" -msgstr "" +msgstr "A família do tipo de letra monospace" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66 msgid "The standard font size in px" -msgstr "" +msgstr "O tamanho do tipo de letra padrão em px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:67 msgid "The monospaced font size in px" -msgstr "" +msgstr "O tamanho do tipo de letra monospace padrão em px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68 msgid "The standard font type" -msgstr "" +msgstr "O tipo de letra padrão" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:166 msgid "Go to..." -msgstr "" +msgstr "Ir para..." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 +msgid "Position in book" +msgstr "Posição no livro" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 -msgid "Position in book" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 msgid "/Unknown" -msgstr "" +msgstr "/Desconhecido" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" +"Ir para uma referência. Para saber o número da referência use o modo de " +"referência." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" -msgstr "" +msgstr "Procurar neste livro" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 +msgid "Choose ebook" +msgstr "Escolher o livro" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 -msgid "Choose ebook" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 msgid "Ebooks" -msgstr "" +msgstr "Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" -msgstr "" +msgstr "Adicionar marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" -msgstr "" +msgstr "Inserir o título para o marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." -msgstr "" +msgstr "A carregar o fluxo..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." -msgstr "" +msgstr "A carregar livro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" -msgstr "" +msgstr "<p>Este livro está protegido por <a href=\"%s\">DRM</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" -msgstr "" +msgstr "Erro de DRM" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 +msgid "Could not open ebook" +msgstr "É impossível abrir o livro" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 -msgid "Could not open ebook" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" -msgstr "" +msgstr "Opções para controlar o Visualizador de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" "View an ebook. \n" msgstr "" +"%prog [options] file\n" +"\n" +"Ver um livro. \n" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:152 msgid "Ebook Viewer" -msgstr "" +msgstr "Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:153 msgid "toolBar" -msgstr "" +msgstr "Barra de ferramentas" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:156 msgid "Next page" -msgstr "" +msgstr "Página seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:157 msgid "Previous page" -msgstr "" +msgstr "Página anterior" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:158 msgid "Font size larger" -msgstr "" +msgstr "Diminuir o tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:159 msgid "Font size smaller" -msgstr "" +msgstr "Aumentar o tipo de letra" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:163 msgid "Find next" -msgstr "" +msgstr "Procurar o seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:164 msgid "Copy to clipboard" -msgstr "" +msgstr "Copiar para a área de transferência" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:165 msgid "Preferences" -msgstr "" +msgstr "Preferências" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:166 msgid "Reference Mode" -msgstr "" +msgstr "Modo de Referência" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Bookmark" -msgstr "" +msgstr "Marcadores" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:168 msgid "Toggle full screen" -msgstr "" +msgstr "Écran inteiro" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:47 msgid "Invalid regular expression" -msgstr "" +msgstr "Expressão regular inválida" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:48 msgid "Invalid regular expression: %s" -msgstr "" +msgstr "Expressão regular inválida: %s" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:139 msgid "" @@ -5121,6 +5415,9 @@ msgid "" "%d\n" "books" msgstr "" +"Biblioteca\n" +"%d\n" +"livros" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:140 msgid "" @@ -5128,6 +5425,9 @@ msgid "" "%s\n" "available" msgstr "" +"Leitor\n" +"%s\n" +"disponível" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:141 msgid "" @@ -5135,22 +5435,29 @@ msgid "" "%s\n" "available" msgstr "" +"Cartão\n" +"%s\n" +"disponível" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:146 msgid "Click to see the list of books available on your computer" -msgstr "" +msgstr "Clique para ver a lista dos livros disponíveis no seu computador" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:147 msgid "Click to see the list of books in the main memory of your reader" msgstr "" +"Clique para ver a lista dos livros disponívais na memória principal do seu " +"leitor" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:148 msgid "Click to see the list of books on the storage card in your reader" msgstr "" +"Clique para ver a lista dos livros disponíveis no cartão de memória do seu " +"leitor" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:16 msgid "Settings to control the calibre content server" -msgstr "" +msgstr "Definições para controlar o servidor de conteúdos do Calibre" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:20 msgid "The port on which to listen. Default is %default" @@ -5158,7 +5465,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:22 msgid "The server timeout in seconds. Default is %default" -msgstr "" +msgstr "O tempo de espera do servidor em segundos. A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:24 msgid "The max number of worker threads to use. Default is %default" @@ -5167,20 +5474,25 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:26 msgid "Set a password to restrict access. By default access is unrestricted." msgstr "" +"Definir uma palavra-passe para restringir o acesso. A predefinição é acesso " +"sem restrições." #: /home/kovid/work/calibre/src/calibre/library/__init__.py:28 msgid "Username for access. By default, it is: %default" -msgstr "" +msgstr "Utilizador autorizado . A predefinição é: %default" #: /home/kovid/work/calibre/src/calibre/library/__init__.py:32 msgid "The maximum size for displayed covers. Default is %default." msgstr "" +"O tamanho máximo para as capas apresentadas. A predefinição é %default." #: /home/kovid/work/calibre/src/calibre/library/cli.py:107 msgid "" "Path to the calibre library. Default is to use the path stored in the " "settings." msgstr "" +"Caminho para a biblioteca do Calibre. A predefinição é usar o caminho " +"armazenado nas definições." #: /home/kovid/work/calibre/src/calibre/library/cli.py:187 msgid "" @@ -5188,6 +5500,9 @@ msgid "" "\n" "List the books available in the calibre database.\n" msgstr "" +"%prog list [options]\n" +"\n" +"Lista de livros disponíveis na base de dados do Calibre.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:195 msgid "" @@ -5207,7 +5522,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:199 msgid "Sort results in ascending order" -msgstr "" +msgstr "Ordenar os resultados em ordem ascendente" #: /home/kovid/work/calibre/src/calibre/library/cli.py:201 msgid "" @@ -5240,11 +5555,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:216 msgid "Invalid fields. Available fields:" -msgstr "" +msgstr "Campos inválidos. Campos disponíveis:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:223 msgid "Invalid sort field. Available fields:" -msgstr "" +msgstr "Campo de ordenação inválido. Campos disponíveis:" #: /home/kovid/work/calibre/src/calibre/library/cli.py:289 msgid "" @@ -5269,17 +5584,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:324 msgid "Process directories recursively" -msgstr "" +msgstr "Processar as pastas recursivamente" #: /home/kovid/work/calibre/src/calibre/library/cli.py:326 msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" +"Adicionar livros à base de dados mesmo se estes já existem. A comparação é " +"feita baseado nos títulos dos livros." #: /home/kovid/work/calibre/src/calibre/library/cli.py:331 msgid "You must specify at least one file to add" -msgstr "" +msgstr "Deve especificar pelo menos um ficheiro para adicionar" #: /home/kovid/work/calibre/src/calibre/library/cli.py:349 msgid "" @@ -5292,7 +5609,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:361 msgid "You must specify at least one book to remove" -msgstr "" +msgstr "Deve especificar pelo menos um livro para remover" #: /home/kovid/work/calibre/src/calibre/library/cli.py:381 msgid "" @@ -5309,7 +5626,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:397 msgid "ebook file must have an extension" -msgstr "" +msgstr "o ficheiro do livro tem de ter uma extensão" #: /home/kovid/work/calibre/src/calibre/library/cli.py:405 msgid "" @@ -5337,7 +5654,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:444 msgid "Print metadata in OPF form (XML)" -msgstr "" +msgstr "Imprimir os metadados no formato OPF (XML)" #: /home/kovid/work/calibre/src/calibre/library/cli.py:449 msgid "You must specify an id" @@ -5377,15 +5694,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:498 msgid "Export books to the specified directory. Default is" -msgstr "" +msgstr "Exportar os livros para a pasta especificada. A predefinição é" #: /home/kovid/work/calibre/src/calibre/library/cli.py:500 msgid "Export all books into a single directory" -msgstr "" +msgstr "Exportar todos os livros para uma única pasta" #: /home/kovid/work/calibre/src/calibre/library/cli.py:502 msgid "Create file names as author - title instead of title - author" msgstr "" +"Crear nomes de ficheiros como autor - título em vez de título - autor" #: /home/kovid/work/calibre/src/calibre/library/cli.py:507 msgid "You must specify some ids or the %s option" @@ -5403,33 +5721,38 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" -msgstr "" +msgstr "<p>A copiar livros para %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" -msgstr "" +msgstr "A copiar <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" +"<p>A migrar a base de dados antiga para a biblioteca de livros em " +"%s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" -msgstr "" +msgstr "A compactar a base de dados" #: /home/kovid/work/calibre/src/calibre/library/server.py:139 msgid "Password to access your calibre library. Username is " -msgstr "" +msgstr "Palavra-passe para aceder à sua biblioteca Calibre. Utilizador é " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" "Start the calibre content server." msgstr "" +"[options]\n" +"\n" +"Iniciar o servidor que conteúdos do Calibre." #: /home/kovid/work/calibre/src/calibre/parallel.py:387 msgid "Could not launch worker process." @@ -5437,11 +5760,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/parallel.py:813 msgid "Job stopped by user" -msgstr "" +msgstr "Processo parado pelo utilizador" #: /home/kovid/work/calibre/src/calibre/utils/config.py:43 msgid "%sUsage%s: %s\n" -msgstr "" +msgstr "%sUtilização%s: %s\n" #: /home/kovid/work/calibre/src/calibre/utils/config.py:81 msgid "Created by " @@ -5449,35 +5772,35 @@ msgstr "Criado por " #: /home/kovid/work/calibre/src/calibre/utils/config.py:536 msgid "Path to the database in which books are stored" -msgstr "" +msgstr "Caminho para a base de dados onde os livros estão armazenados" #: /home/kovid/work/calibre/src/calibre/utils/config.py:538 msgid "Pattern to guess metadata from filenames" -msgstr "" +msgstr "Padrão para adivinhar os metadados a partir do nome dos ficheiros" #: /home/kovid/work/calibre/src/calibre/utils/config.py:540 msgid "Access key for isbndb.com" -msgstr "" +msgstr "Chave de acesso para isbndb.com" #: /home/kovid/work/calibre/src/calibre/utils/config.py:542 msgid "Default timeout for network operations (seconds)" -msgstr "" +msgstr "Predefinição do tempo de espera para operações de rede (segundos)" #: /home/kovid/work/calibre/src/calibre/utils/config.py:544 msgid "Path to directory in which your library of books is stored" -msgstr "" +msgstr "Caminho para a pasta onde a sua biblioteca de livros está armazenada" #: /home/kovid/work/calibre/src/calibre/utils/config.py:546 msgid "The language in which to display the user interface" -msgstr "" +msgstr "A linguagem de apresentação da interdace do utilizador" #: /home/kovid/work/calibre/src/calibre/utils/config.py:548 msgid "The default output format for ebook conversions." -msgstr "" +msgstr "O formato predefinido para a conversão de livros." #: /home/kovid/work/calibre/src/calibre/utils/config.py:550 msgid "Read metadata from files" -msgstr "" +msgstr "Ler os metadados a partir dos ficheiros" #: /home/kovid/work/calibre/src/calibre/utils/config.py:552 msgid "The priority of worker processes" @@ -5501,7 +5824,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/sftp.py:71 msgid "Failed to authenticate with server: %s" -msgstr "" +msgstr "Falha na autenticação com o servidor: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:83 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:105 @@ -5511,15 +5834,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:123 #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:145 msgid "Untitled article" -msgstr "" +msgstr "Artigo sem título" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:15 msgid "Options to control the fetching of periodical content from the web." -msgstr "" +msgstr "Opções para controlar a busca de conteúdos periódicos da rede." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:18 msgid "Customize the download engine" -msgstr "" +msgstr "Personalizar o motor de transferências" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:20 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:460 @@ -5527,6 +5850,8 @@ msgid "" "Timeout in seconds to wait for a response from the server. Default: %default " "s" msgstr "" +"O tempo de espera em segundos para esperar uma resposta do servidor. A " +"predefinição é: %default s" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:22 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:468 @@ -5563,7 +5888,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:30 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476 msgid "Do not download CSS stylesheets." -msgstr "" +msgstr "Não descarregar folhas de estilos CSS." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:33 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:90 @@ -5578,7 +5903,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:37 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:94 msgid "Be more verbose while processing." -msgstr "" +msgstr "Apresentar mais indicações durante o processamento." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:39 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:96 @@ -5591,11 +5916,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:97 msgid "Username for sites that require a login to access content." msgstr "" +"Utilizador para sítios que requeiram ínicio de sessão para aceder a " +"conteúdos." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:43 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:98 msgid "Password for sites that require a login to access content." msgstr "" +"Palavra-passe para sítios que requeiram ínicio de sessão para aceder a " +"conteúdos" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:51 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:101 @@ -5613,12 +5942,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:55 msgid "Don't show the progress bar" -msgstr "" +msgstr "Não mostrar a barra de progresso." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:57 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:107 msgid "Very verbose output, useful for debugging." -msgstr "" +msgstr "Apresentar mais indicações, útil para depurar." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:59 #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:109 @@ -5655,7 +5984,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:105 msgid "Dont show the progress bar" -msgstr "" +msgstr "Não mostrar a barra de progresso." #: /home/kovid/work/calibre/src/calibre/web/feeds/main.py:120 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:684 @@ -5664,11 +5993,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:41 msgid "Unknown News Source" -msgstr "" +msgstr "Fonte de Notícias desconhecida" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:563 msgid "Download finished" -msgstr "" +msgstr "Descarregamento terminado" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:565 msgid "Failed to download the following articles:" @@ -5677,7 +6006,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:567 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:573 msgid " from " -msgstr "" +msgstr " de " #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:571 msgid "Failed to download parts of the following articles:" @@ -5685,7 +6014,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:575 msgid "\tFailed links:" -msgstr "" +msgstr "\tLigações falhadas:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:663 msgid "Could not fetch article. Run with --debug to see the reason" @@ -5697,7 +6026,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:694 msgid "Trying to download cover..." -msgstr "" +msgstr "A tentar descarregar a capa..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:747 msgid "Starting download [%d thread(s)]..." @@ -5709,15 +6038,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:773 msgid "Could not download cover: %s" -msgstr "" +msgstr "É impossível descarregar a capa: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:780 msgid "Downloading cover from %s" -msgstr "" +msgstr "A descarregar a capa de %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:913 msgid "Untitled Article" -msgstr "" +msgstr "Artigo Sem Título" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 msgid "" @@ -5725,18 +6054,21 @@ msgid "" "Downloaded article %s from %s\n" "%s" msgstr "" +"\n" +"Artigo descarregado %s de %s\n" +"%s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:974 msgid "Article downloaded: %s" -msgstr "" +msgstr "Artigo descarregado: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:980 msgid "Failed to download article: %s from %s\n" -msgstr "" +msgstr "Falha ao descarregar o artigo: %s de %s\n" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:985 msgid "Article download failed: %s" -msgstr "" +msgstr "Falho o descarregamento do artigo: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:78 @@ -5750,6 +6082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5765,7 +6098,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_laprensa.py:60 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pagina12.py:25 msgid "Spanish" -msgstr "" +msgstr "Espanhol" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_amspec.py:14 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ap.py:11 @@ -5780,9 +6113,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5798,7 +6133,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5809,11 +6144,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5842,6 +6179,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5849,20 +6187,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_xkcd.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zdnet.py:17 msgid "English" -msgstr "" +msgstr "Inglês" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_b92.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_blic.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5871,25 +6210,26 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vijesti.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_vreme.py:26 msgid "Serbian" -msgstr "" +msgstr "Sérvio" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_courrierinternational.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" -msgstr "" +msgstr "Francês" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_de_standaard.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_demorgen_be.py:16 msgid "Dutch" -msgstr "" +msgstr "Holandês" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_estadao.py:62 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jb_online.py:47 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_o_globo.py:69 msgid "Portugese" -msgstr "" +msgstr "Português" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_faznet.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ftd.py:18 @@ -5900,19 +6240,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware_de.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_zeitde.py:15 msgid "German" -msgstr "" +msgstr "Alemão" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:12 msgid "Kovid Goyal" -msgstr "" +msgstr "Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_jutarnji.py:22 msgid "Croatian" -msgstr "" +msgstr "Croata" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_la_republica.py:6 msgid "Italian" -msgstr "" +msgstr "Italiano" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:83 msgid "Skipping duplicated article: %s" @@ -5944,6 +6284,8 @@ msgid "" "The maximum number of files to download. This only applies to files from <a " "href> tags. Default is %default" msgstr "" +"O número máximo de ficheiros para descarregar. Isto só se aplica a ficheiros " +"com etiquetas <a href>. A predefinição é %default" #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:477 msgid "Show detailed output information. Useful for debugging" @@ -5952,6 +6294,15 @@ msgstr "" #~ msgid "The author(s) of the ebook, as a comma separated list." #~ msgstr "O(s) autor(es) do ebooks, como uma lista separada por vírgulas." +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Normalmente, se o ficheiro de origem já tem uma Tabela de Conteúdos, ela é " +#~ "usada preferencialmente, em vez de uma detectada automaticamente. Com esta " +#~ "opção, a detectada automaticamente é sempre utilizada." + #~ msgid "" #~ "Remove spacing between paragraphs. Will not work if the source file forces " #~ "inter-paragraph spacing." diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index e4cdc3d99d..744d41fd6d 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-01-29 16:15+0000\n" "Last-Translator: petre <Unknown>\n" "Language-Team: Romanian <ro@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Nu face absolut nimic" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Necunoscut(ă)" @@ -222,17 +222,17 @@ msgstr "Dezactivează plugin-ul specificat prin nume" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Cititorul nu are ataşată o cartelă de stocare." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Nu există suficient spaţiu liber pe cartela de stocare" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "Nu există suficient spaţiu liber în memoria principală" @@ -424,12 +424,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"În mod normal, dacă fişierul sursă are deja un cuprins, utilizarea acestuia " -"este preferată celui auto-detectat. Cu această opţiune, cel auto-detectat " -"este utilizat întotdeauna." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -516,7 +513,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "Nu a fost găsită o e-carte în arhivă" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -527,14 +524,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -553,88 +550,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -650,27 +647,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -978,120 +975,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1133,95 +1136,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1266,26 +1269,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1584,11 +1587,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1621,11 +1624,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1979,7 +1982,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2016,56 +2019,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2096,89 +2103,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2372,13 +2379,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2390,7 +2397,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2552,6 +2559,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2563,39 +2571,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3282,19 +3290,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3379,7 +3392,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3427,104 +3440,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4014,7 +4019,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4439,59 +4444,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4816,75 +4829,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5235,20 +5248,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5256,7 +5269,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5582,6 +5595,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5612,9 +5626,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5630,7 +5646,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5641,11 +5657,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5674,6 +5692,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5681,6 +5700,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5694,7 +5714,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5709,6 +5729,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 06f9418948..523ec3c8f6 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: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-01-27 19:11+0000\n" "Last-Translator: Andrew V. Skvortsov <Unknown>\n" "Language-Team: American English <kde-i18n-doc@lists.kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" @@ -29,15 +29,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -63,7 +63,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -74,8 +74,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -90,16 +90,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Неизвестно" @@ -222,17 +222,17 @@ msgstr "Отключить названный плагин" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Не подключена карта памяти." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -426,11 +426,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Обычно, если исходный файл уже имеет Оглавление, то используйте только " -"настройки авто-определения. Эта опция одна из всегда используемых." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -518,7 +516,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "Не могу найти книгу в архиве" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -535,14 +533,14 @@ msgstr "" "Если вы задаете файл OPF вместо HTML, список ссылок содержится в элементе " "<spine> файла OPF. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Вы должны задать исходный файл HTML" @@ -564,24 +562,24 @@ msgstr "" "\t\tОчень много закладок. Переразбейте безструктурное сохранение. Это может " "быть причиной некорректного выполнения." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Записывается обработанный HTML в " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Опции контроля просмотра HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "Выходная дериктория. По умолчанию текущая дериктория." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "Кодировка файла HTML. По умолчанию автоопределение." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -589,11 +587,11 @@ msgstr "" "Создание выходного zip файла. Если используется эта опция, то --output имя " "файла должно быть отличным от дериктории." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "Контроль следования по ссылкам в файле HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -601,7 +599,7 @@ msgstr "" "Маршрут включенный в HTML проходится в ширину. Обычно, это проходится " "преимущественно в глубину" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -610,39 +608,39 @@ msgstr "" "Должно быть не отрицательным. 0 подразумевает нет ссылок для следования в " "корневом файле HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Ввести созданные метаданные электронной книги" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Ввести заголовок. По умолчанию автоопределение." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "Содержание книги, список разделяется запятыми." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Ввести издательство этой книги." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Краткое изложение этой книги." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "Загрузить метаданные из подробного OPF файла." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Опции используемые для отладки" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -650,12 +648,12 @@ msgstr "" "Добавить больше детализации во время обработки. Может быть определено путем " "увеличения времени повышения детализации." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" "Выходной HTML \"структурная распечатка\" для простого человеческого анализа" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -671,29 +669,29 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Выходная директория. По умолчанию текущая директория." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Удобочитаемый формат извлекаемой разметки. Возможно модифицировать пробелами " "имеющими смысл." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Использовать для отладки." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB книга создана в" @@ -1084,15 +1082,15 @@ msgstr "" msgid "No file to convert specified." msgstr "Не указан файл для преобразования." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Обработано %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Сбой %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1102,24 +1100,24 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 msgid "" "Options to control the conversion of comics (CBR, CBZ) files into ebooks" msgstr "" "Опции контроля преобразования файлов комиксов (CBR, CBZ) в электронную книгу" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "Заголовок для созданной книги. По умолчанию используется имя файла." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 msgid "" "Set the author in the metadata of the generated ebook. Default is %default" msgstr "" "Ввести автора в метаданные создаваемые электронной книгой. По умолчанию " "%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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1127,32 +1125,38 @@ 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 "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Количество цвета для преобразовании изображения в оттенки серого. По " "умолчанию: %default" -#: /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 normalize (improve contrast) color range for pictures. Default: False" msgstr "" "Отменить нормализацию (повышение контраста) цветового диапазона для " "картинок. По умолчанию: False" -#: /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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1160,7 +1164,7 @@ 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:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1168,7 +1172,7 @@ 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:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1176,7 +1180,7 @@ 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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1184,7 +1188,7 @@ 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:321 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 " @@ -1194,7 +1198,7 @@ msgstr "" "SONY PRS-500 имеет размер экрана 584x754 пикселей. Это соответствует многим " "ридерам с таким же разрешением экрана. Choices are %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1203,15 +1207,15 @@ msgstr "" "Детализация, используемая для отладки. Может быть установлено многократное " "время для лучшей детализации." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Не показывать строку состояния." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1221,11 +1225,11 @@ msgstr "" "\n" "Преобразование комиксов из файлов CBZ или CBR в электронную книгу. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Результат записывается в" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Отображаются страницы комиксов..." @@ -1275,56 +1279,56 @@ msgstr "Опции управления изменениями html2lrf" msgid "Fetching of recipe failed: " msgstr "Неудачно выбранный набор параметров : " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tФайл Book Designer определен." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tАнализ HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tФайл Baen определен. Повторный анализ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Записать предвартельную обработку HTML в " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Обработано %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tПреобразование в BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Не удалось разобрать файл: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s пустой файл" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "Ошибка анализа ссылки %s %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "Не могу добавить ссылку %s в TOC" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:958 msgid "Unable to process image %s. Error: %s" msgstr "Невозможный процесс изображения %s. Ошибка: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "Невозможный процесс чередования PNG %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1332,13 +1336,13 @@ msgstr "" "Неудачный процесс изображения: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" "Призошла ошибка при обработке таблицы: %s. Пропустить разметку таблицы." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1346,11 +1350,11 @@ msgstr "" "Плохая таблица:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "Таблица имеет очень большие ячейки" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1358,19 +1362,19 @@ msgstr "" "Вы сохранили вебсайт %s как первый html файл, теперь с ним запустите " "html2lrf." -#: /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:1869 msgid "Could not read cover image: %s" msgstr "Не могу прочитать файл обложки: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Не могу прочитать из: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Ошибка процесса файла opf" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1428,11 +1432,11 @@ msgstr "Создание XML..." msgid "LRS written to " msgstr "LRS пишет " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Не могу прочитать файл эскиз:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1440,16 +1444,16 @@ msgstr "" "%prog [options] file.lrs\n" "Сборка файла LRS из файла LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Путь для файла результата" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Детализация процесса" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Преобразование LRS в LRS, необходимо для отладки." @@ -1796,11 +1800,11 @@ msgstr "" "Загрузка изображения обложки для книги распознается через ISBN на сайте " "LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Используется: %s file.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Обложка сохранена" @@ -1833,11 +1837,11 @@ msgstr "Загрузка: rb-meta file.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] myebook.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Непосредственно MOBI HTML сохранен в" @@ -2192,7 +2196,7 @@ msgid "Formats" msgstr "Форматы" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2229,56 +2233,60 @@ msgstr "Установить конвертирование по умолчан msgid "Set options for converting %s" msgstr "Установить варианты для конвертации %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Название:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Автор(ы):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Количество цветов:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Профиль:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Блокировать &упорядочивание" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Сохранить &соотношение сторон" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Блокировать повышение &резкости" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Альбомная" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Не сорт&ировать" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Справа на лево" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Конт&раст" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Широкий" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2311,89 +2319,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Лог ошибок:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Лог доступа:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Сбой запуска контент сервера" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Неверный размер" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 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:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Неправильное расположение базы данных" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Должна быть дирректория." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Неправильное расположение базы данных " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Неправильное расположение базы данных.<br>Немогу записать " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "Сжатие базы данных. Это займет некоторое время." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Сжатие..." @@ -2592,13 +2600,13 @@ msgstr "&Порт сервера:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "&Пользователь:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Пароль:" @@ -2612,7 +2620,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Показать пароль" @@ -2780,6 +2788,7 @@ msgid "You do not have permission to read the file: " msgstr "У вас нет разрешения на чтение этого файла: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2791,39 +2800,39 @@ msgstr "Ошибка чтения файла" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Ошибка при чтении файла:<br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " неверное изображение" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Не преобразуется" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Формат книги не доступен" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Не доступный формат" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "Не могу преобразовать %s, книга неизвестного формата" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Неверное выражение XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "Выражение %s неверное. Ошибка: %s" @@ -3544,19 +3553,24 @@ msgstr "" "<br/>Если Вы их не имеете, выможете бесплатно <a " "href='http://www.librarything.com'>зарегистрироваться</a>.</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Не могу получить обложку.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Не смогу получить обложку" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Не могу получить обложку" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Не могу получить обложку.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Вы должны назначить ISBN идентификатор для этой книги" @@ -3644,7 +3658,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Найти" @@ -3692,74 +3706,66 @@ msgstr "Вы должны ввести свои логин и пароль" msgid "This recipe requires a username and password" msgstr "Параметру требуется логин и пароль" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Создано: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Последняя закачка: никогда" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Загрузка новостей по расписанию" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Добавить нужный источник новостей" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Новости" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Состав" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Загрузка по времени" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "название" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "описание" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "автор" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3767,25 +3773,25 @@ msgstr "" "Промежуток в который будет загружаться этот набор. Значение ноль " "подразумевает загрузку каждый час." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " дни" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "&Учётная запись" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "Для работы по рассписанию, вы должны загрузить calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "Загрузить сейчас" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." @@ -3793,7 +3799,7 @@ msgstr "" "Удалить загруженные новости, устаревшие через установленное количество дней. " "Для блокирования установите ноль." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Удалить закаченные новости старше, чем " @@ -4305,7 +4311,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Нет совпадений</b> для искомой фразы <i>%s</i> ." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Совпадений не найдено" @@ -4756,59 +4762,67 @@ msgstr "" "<p>Не могу преобразовать: %s<p>Это <a href=\"%s\">DRM</a> книга. Перед " "преобразование удалите DRM используя программное обеспечение." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Имеется активное задание. Вы всеравно хотите выйти?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "ПРЕДУПРЕЖДЕНИЕ: Активное задание" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Доступно обновление" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -5133,75 +5147,75 @@ msgstr "Стандартный шрифт" msgid "Go to..." msgstr "Перейти..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Позиция в книге" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Неизвестное" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Выбрать электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "Электронная книга" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Добавить закладку" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Нет соответствий для: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Загрузить поток..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Разметка %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Загружается электронная книга..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Ошибка DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Не могу открыть электронную книгу" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5552,20 +5566,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5573,7 +5587,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5937,6 +5951,7 @@ msgstr "Достаавляется материал" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5967,9 +5982,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5985,7 +6002,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5996,11 +6013,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6029,6 +6048,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6036,6 +6056,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6049,7 +6070,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6064,6 +6085,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -6156,6 +6178,9 @@ msgstr "Показать детальную информацию. Использ #~ msgid "Help on item" #~ msgstr "Справка на статью" +#~ msgid "Could not fetch cover" +#~ msgstr "Не смогу получить обложку" + #~ msgid "" #~ "Add books recursively (One book per directory, assumes every ebook file is " #~ "the same book in a different format)" @@ -6247,6 +6272,14 @@ msgstr "Показать детальную информацию. Использ #~ "таблицы стилей, скрипты и пр.\n" #~ "Если вместо укзан OPF файл, список файлов находится в элементе <spine>.\n" +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Обычно, если исходный файл уже имеет Оглавление, то используйте только " +#~ "настройки авто-определения. Эта опция одна из всегда используемых." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -6339,6 +6372,12 @@ msgstr "Показать детальную информацию. Использ #~ msgid "Last downloaded: %s days ago" #~ msgstr "Последний раз скачано: %s дней тому назад" +#~ msgid "title" +#~ msgstr "название" + +#~ msgid "description" +#~ msgstr "описание" + #~ msgid "&Schedule for download every:" #~ msgstr "Загружать по расписанию каждый:" @@ -6347,3 +6386,6 @@ msgstr "Показать детальную информацию. Использ #~ msgid "Enable system &tray icon" #~ msgstr "Использовать иконку в панели задач" + +#~ msgid "author" +#~ msgstr "автор" diff --git a/src/calibre/translations/sk.po b/src/calibre/translations/sk.po index 0f1e4ce256..8f19062676 100644 --- a/src/calibre/translations/sk.po +++ b/src/calibre/translations/sk.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-03-05 12:30+0000\n" "Last-Translator: Stano Sitar <Unknown>\n" "Language-Team: Slovak <sk@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Nerobí vôbec nič" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Neurčené" @@ -226,17 +226,17 @@ msgstr "Deaktivovať modul podľa mena" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "V čítacom zariadení nie je vložená žiadna pamäťová karta." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "Na pamäťovej karte nie je dostatok voľného miesta" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "V hlavnej pamäti zariadenia nie je dostatok miesta" @@ -446,12 +446,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" -"Za normálnych okolností je obsah, ktorý je súčasťou zdrojového súboru, vždy " -"uprednostnený pred automaticky generovaným. Zvolenie tejto možnosti spôsobí, " -"že sa vždy použije automaticky generovaný obsah." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 msgid "Control page layout" @@ -549,7 +546,7 @@ msgstr "" 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:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -566,14 +563,14 @@ msgstr "" "Ak miesto HTML súboru zadáte OPF súbor, odkazy budú prevzaté z jeho sekcie " "<spine>. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "Výstup zapísaný do " -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Musíte zadať vstupný HTML súbor" @@ -595,26 +592,26 @@ 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:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Spracované HTML bolo zapísané do " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "Možnosti spracovania HTML" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -622,11 +619,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -634,7 +631,7 @@ msgstr "" "Prechádzať odkazy 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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -643,39 +640,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Metadáta vygenerovanej elektronickej knihy" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Názov. Štandardne automaticky detekovaný." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "Autor(i) knihy, oddelení ampersandmi (&)." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 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:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "Vydavateľ knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "Stručný obsah knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 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:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 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:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." @@ -683,11 +680,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:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -709,28 +706,28 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "Vytváram LIT súbor z EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [možnosti] LITsúbor" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Výstupný adresár. Štandardne aktuálny pracovný adresár." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" "Čitateľne formátovať extrahované HTML. Môže ovplyvniť medzery v texte." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 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:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB elektronická kniha bude vytvorená v" @@ -1124,15 +1121,15 @@ msgstr "" 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:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Úspešný prevod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Neuspel prevod %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" @@ -1142,24 +1139,24 @@ msgstr "" "\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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. " "Predvolená hodnota je %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 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 msgid "" "Path to output file. By default a file is created in the current directory." @@ -1167,33 +1164,39 @@ 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" "Počet odtieňov sivej použitý pri prevode obrázkov. Predvolená hodnota: " "%default" -#: /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 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Vypnúť zvyšovanie ostrosti obrázkov." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1201,7 +1204,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1209,7 +1212,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." @@ -1217,7 +1220,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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1225,7 +1228,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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 " @@ -1236,7 +1239,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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 msgid "" "Be verbose, useful for debugging. Can be specified multiple times for " @@ -1246,15 +1249,15 @@ 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Nezobrazovať indikátor postupu spracovania." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "Obrázok nijak neupravovať" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 msgid "" "%prog [options] comic.cb[z|r]\n" "\n" @@ -1264,11 +1267,11 @@ msgstr "" "\n" "Prevedie komiks vo formáte CBZ alebo CBR do podoby elektronickej knihy. \n" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Výstup do" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Spracúvam stránky komiksu..." @@ -1318,57 +1321,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tSpracúvam HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 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:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 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:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Spracúvam %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tPrevádzam do BBeB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "Spracovanie súboru zlyhalo: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 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:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1376,12 +1379,12 @@ msgstr "" "Zlyhalo spracovanie obrázka: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1389,11 +1392,11 @@ msgstr "" "Nesprávna definícia tabuľky:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1401,19 +1404,19 @@ msgstr "" "Webovú %s 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Nemôžem čítať z: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Zlyhalo spracovanie OPF súboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1472,11 +1475,11 @@ msgstr "Vytváram XML..." msgid "LRS written to " msgstr "LRS zapísané do " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Nepodarilo sa načítať náhľad:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1484,16 +1487,16 @@ msgstr "" "%prog [možnosti] súbor.lrs\n" "Spracuje LRS súbor do súboru LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Cesta k výstupnému súboru" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "Zvýšiť množstvo vypisovaných informácií" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Previesť LRS na LRS, užitočné pri hľadaní chýb v programe." @@ -1840,11 +1843,11 @@ msgstr "" "\n" "Prevezme obálku knihy podľa uvedeného kódu ISBN z LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Použitie: %s súbor.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Obálka uložená do" @@ -1877,11 +1880,11 @@ msgstr "Použitie: rb-meta súbor.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "Vytváranie Mobipocket súboru z EPUB..." -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [možnosti] kniha.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Neupravené MOBI HTML uložené do" @@ -2260,7 +2263,7 @@ msgid "Formats" msgstr "Formáty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2297,56 +2300,60 @@ msgstr "Štandardné nastavenia prevodu komiksov (CBR/CBZ súborov)" msgid "Set options for converting %s" msgstr "Možnosti prevodu %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Názov:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Autor(i):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "Počet &farieb:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Vypnúť &normalizáciu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Zachovať &pomer strán" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Vypnúť &zaostrovanie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "Na ší&rku" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "&Netriediť" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "&Sprava doľava" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "Čistiaci &filter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "Širo&ké obrázky" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr " moduly" @@ -2379,91 +2386,91 @@ msgstr "" msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "Chýba platná cesta k modulom" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "%s nie je platná cesta k modulom" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "Zvoľte modul" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "Modul nie je možné deaktivovať" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "Modul %s nie je možné deaktivovať" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "Modul nie je upraviteľný" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "Modul %s neumožňuje žiadne úpravy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "Upraviť %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "Vstavaný modul nie je možné odstrániť" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" " nemôže byť odstránený. Je to vstavaý modul. Skúste ho miesto odstránenia " "deaktivovať." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "Záznam o chybách:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "Záznam o prístupe:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "Nepodarilo sa spustiť obsahový server" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "Neplatná veľkosť" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 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:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Neplatné umiestnenie databázy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Musí byť adresár." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Neplatné umiestnenie databázy " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Neplatné umiestnenie databázy.<br>Nemôžem zapisovať do " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Zmenšujem..." @@ -2667,13 +2674,13 @@ msgstr "&Port servera:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "Po&užívateľské meno:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Heslo:" @@ -2687,7 +2694,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Zobraziť heslo" @@ -2862,6 +2869,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2873,41 +2881,41 @@ msgstr "Chyba pri čítaní súboru" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Chyba pri čítaní súboru: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " nie je platný obrazový súbor" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Nemôžem previesť" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "Táto kniha nie je k dispozícii v žiadnom formáte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Žiadny formát nie je k dispozícii" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" "Nemôžem previesť %s, lebo nie je k dispozícii v žiadnom z podporovaných " "formátov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "Vyberte formát pre konverziu " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "Neplatný výraz XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "Výraz %s je neplatný. Chyba: %s" @@ -3639,19 +3647,24 @@ msgstr "" "<br/>Ak ich zatiaľ nemáte, bezplatne sa <a " "href='http://www.librarything.com'>zaregistrujte</a>.</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Nepodarilo sa prevziať obálku.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Nepodarilo sa prevziať obálku" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Nepodarilo sa prevziať obálku" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Nepodarilo sa prevziať obálku.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Musíte zadať kód ISBN tejto knihy" @@ -3738,7 +3751,7 @@ msgid "Scheduled" msgstr "Naplánované" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "Hľadať" @@ -3786,74 +3799,66 @@ msgstr "Operácia vyžaduje prihlasovacie údaje" msgid "This recipe requires a username and password" msgstr "Tento recept vyžaduje prihlasovacie meno a heslo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "Autor: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "pred %d dňami, %d hodinami a %d minútami" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "Posledne prevzatý" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "Posledne prevzatý: nikdy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "Naplánovať preberanie správ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Pridať vlastný zdroj správ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "Správy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Recepty" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "Plán preberania" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" -msgstr "názov" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "opis" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "autor" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "&Naplánovať preberanie:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "Každých " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "na" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." @@ -3861,33 +3866,33 @@ msgstr "" "Interval preberania receptu. Nastavenie na 0 spôsobí, že recept sa bude " "preberať každú hodinu." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " dní" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "Úč&et" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" "Ak má plánované preberanie fungovať, program calibre musí ostať spustený." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "&Previziať teraz" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" "Mazať správy staršie ako určený počet dní. Zadaním 0 funkciu vypnete." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "Mazať správy staršie ako " @@ -4422,7 +4427,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "Pre hľadaný výraz <i>%s</i> neboli nájdené <b>žiadne výsledky</b>." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Neboli nájdené žiadne výsledky" @@ -4882,7 +4887,15 @@ msgstr "" "<p>Nepodarilo sa previesť: %s<p>Obsahuje <a href=\"%s\">ochranu proti " "kopírovaniu</a>. Ochranu musíte najprv nejakým externým nástrojom odstrániť." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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." @@ -4890,11 +4903,11 @@ msgstr "" "je výsledkom snahy mnohých dobrovoľníkov z celého sveta. Ak je pre vás " "užitočný, prosím zvážte možnosť príspevku na jeho vývoj." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Prebieha spracovanie úloh. Určite chcete program ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" @@ -4905,11 +4918,11 @@ msgstr "" "zariadení.<br>\n" " 'Určite chcete program ukončiť?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "UPOZORNENIE: Prebieha spracovanie úloh" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." @@ -4917,7 +4930,7 @@ msgstr "" "bude ďalej bežať v systémovej lište. Ak si želáte ho ukončiť, z kontextového " "menu ikony v systémovej lište zvoľte položku <b>Ukončiť</b>." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4925,7 +4938,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Najnovšia verzia: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4935,19 +4948,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">tu</a>. Želáte si " "navštíviť stránku so súbormi na preberanie?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Bola vydaná nová verzia" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "Použiť knižnicu, ktorá sa nachádza na uvedenej ceste." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "Spustiť program v systémovej lište." -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "Do konzoly vypísať informácie užitočné pri hľadaní chýb" @@ -5282,76 +5295,76 @@ msgstr "Štandardný typ písma" msgid "Go to..." msgstr "Prejsť na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "Pozícia v knihe" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "/Neznámy" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "Prejsť na referenciu. Čísla referencií získate v režime referencií." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "Hľadať text v knihe" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "Vyberte elektronickú knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "Elektronické knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "Pridať záložku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "Zadajte názov záložky:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "Neboli nájdené žiadne výsledky pre: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "Načítavam prúd..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "Formátujem %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "Načítavam elektronickú knihu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" "<p>Táto kniha je chránená <a href=\"%s\">ochranou proti kopírovaniu</a>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "Chyba ochrany proti kopírovaniu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "Nepodarilo sa otvoriť knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "<b>%s</b><br/><p>%s</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "Nastavenie prehliadača elektronických kníh" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5798,21 +5811,21 @@ msgstr "" "\n" "Informácie o jednotlivých príkazoch: %%prog príkaz --help\n" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "<p>Kopírujem knihy do %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Kopírujem <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" "<p>Migrujem starú databázu do knižnice elektronických kníh v %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Zmenšujem databázu" @@ -5820,7 +5833,7 @@ msgstr "Zmenšujem databázu" msgid "Password to access your calibre library. Username is " msgstr "Prístupové heslo k vašej databáze calibre. Používateľské meno je " -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -6196,6 +6209,7 @@ msgstr "Preberám prúd" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -6226,9 +6240,11 @@ msgstr "Španielčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -6244,7 +6260,7 @@ msgstr "Španielčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -6255,11 +6271,13 @@ msgstr "Španielčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -6288,6 +6306,7 @@ msgstr "Španielčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -6295,6 +6314,7 @@ msgstr "Španielčina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -6308,7 +6328,7 @@ msgstr "Angličtina" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -6323,6 +6343,7 @@ msgstr "Srbština" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "Francúzština" @@ -6407,6 +6428,9 @@ msgstr "" #~ msgid "Don't know what this is for" #~ msgstr "Účel tejto položky nie je známy" +#~ msgid "Could not fetch cover" +#~ msgstr "Nepodarilo sa prevziať obálku" + #~ 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):" @@ -6436,6 +6460,15 @@ msgstr "" #~ "Ak je vstupný súbor typu OPF, bude miesto odkazov spracovaný zoznam súborov " #~ "v bloku <spine>.\n" +#~ msgid "" +#~ "Normally, if the source file already has a Table of Contents, it is used in " +#~ "preference to the autodetected one. With this option, the autodetected one " +#~ "is always used." +#~ msgstr "" +#~ "Za normálnych okolností je obsah, ktorý je súčasťou zdrojového súboru, vždy " +#~ "uprednostnený pred automaticky generovaným. Zvolenie tejto možnosti spôsobí, " +#~ "že sa vždy použije automaticky generovaný obsah." + #~ msgid "" #~ "%%prog [options] filename\n" #~ "\n" @@ -6526,3 +6559,12 @@ msgstr "" #~ msgid "Use internal &viewer for the following formats:" #~ msgstr "Použiť interný &prehliadač na tieto formáty:" + +#~ msgid "title" +#~ msgstr "názov" + +#~ msgid "description" +#~ msgstr "opis" + +#~ msgid "author" +#~ msgstr "autor" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 1b48537a3e..6487b5a0cc 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.17\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2009-01-19 08:55+0000\n" "Last-Translator: Janko Slatenšek <Unknown>\n" "Language-Team: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -25,15 +25,15 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "Ne naredi popolnoma nič" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "Neznano" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Reader nima vstavljene spominske kartice." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -389,8 +389,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -473,7 +473,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -484,14 +484,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "Izbrati morate vhodno HTML datoteko" @@ -510,25 +510,25 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "Obdelane HTML datoteke so zapisane v " -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 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:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 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:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 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:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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." @@ -536,11 +536,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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 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:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" @@ -548,7 +548,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:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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." @@ -557,49 +557,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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "Nastavi meta podatke od generirane eknjige" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "Nastavi naslov. Privzeto je samodejno zaznavanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "Možnosti koristne za razhroščevanje" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 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:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -615,27 +615,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "%prog [options] LITFILE" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "Izhodni direktorij. Privzet je trenutni direktorij." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "Koristno za razhroščevanje." -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "OEB eknjiga ustvarjena v" @@ -1006,67 +1006,73 @@ msgstr "" 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:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "Upodobljen %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "Neuspešno %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 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:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 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:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 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:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 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:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 msgid "Disable sharpening." msgstr "Onemogoči ostrenje." -#: /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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 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:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." @@ -1074,7 +1080,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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 msgid "" "Used for right-to-left publications like manga. Causes landscape pages to be " "split into portrait pages from right to left." @@ -1082,13 +1088,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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." @@ -1096,40 +1102,40 @@ 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "Ne pokaži indikatorja napredka." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "Izhod se zapiše v" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "Upodabljam strani stripa ..." @@ -1179,56 +1185,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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "\tBook Designer datoteka zaznana." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "\tParsanje HTML ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "\tBaen datoteka zaznana. Ponovno parsanje ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "Preprocesiran HTML zapisan v " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "Procesiranje %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "\tPretvarjanje v BBeB ..." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 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:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "%s je prazna datoteka" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 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:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 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:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 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:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" @@ -1236,13 +1242,13 @@ msgstr "" "Neuspešno procesiranje slike: %s\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" @@ -1250,11 +1256,11 @@ msgstr "" "Slaba tabela:\n" "%s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 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:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 msgid "" "You have to save the website %s as an html file first and then run html2lrf " "on it." @@ -1262,19 +1268,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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 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:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "Ne morem brati iz: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "Napaka pri obdelavi opf datoteke" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1332,11 +1338,11 @@ msgstr "Ustvarjam XML ..." msgid "LRS written to " msgstr "LRS zapisan v " -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "Neuspešen poskus branja iz thumbnail datoteke:" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." @@ -1344,16 +1350,16 @@ msgstr "" "%prog [možnosti] datoteka.lrs\n" "Prevedi LRS datoteko v LRF." -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "Pot do izhodne datoteke" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "Pretvori LRS v LRS, koristno za razhroščevanje." @@ -1697,11 +1703,11 @@ msgstr "" "\n" "Pridobi naslovnico za knjigo, identificirano po ISBN iz LibraryThing.com\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "Uporaba: %s datoteka.lit" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "Naslovnica shranjena v" @@ -1734,11 +1740,11 @@ msgstr "Uporaba: rb-meta datoteka.rb" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "%prog [options] mojaeknjiga.mobi" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "Neobdelan MOBI HTML shranjen v" @@ -2093,7 +2099,7 @@ msgid "Formats" msgstr "Formati" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -2130,56 +2136,60 @@ msgstr "Nastavi privzete možnosti za pretvorbo stripov (CBR/CBZ datoteke)" msgid "Set options for converting %s" msgstr "Nastavi nastavitve za pretvorbo %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "&Naslov:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "&Avtor(ji):" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "&Število Barv:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "&Profil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "Izklopi &normalizacijo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "Ohrani r&azmerje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "Onemogoči O&strenje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "&Panorama" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "Ne &razvrščaj" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "Od desne p&roti levi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "De&speckle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "&Široko" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2210,89 +2220,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "Napačna lokacija podatkovne baze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "<br>Mora biti direktorij." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "Napačna lokacija podatkovne baze " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "Napačna lokacija podatkovne baze. <br>Ne morem pisati v " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 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:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "Krčenje ..." @@ -2488,13 +2498,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "&Uporabniško ime:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&Geslo:" @@ -2506,7 +2516,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "&Prikaži geslo" @@ -2668,6 +2678,7 @@ 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:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2679,39 +2690,39 @@ msgstr "Napaka pri branju zbirke" msgid "<p>There was an error reading from file: <br /><b>" msgstr "<p>Prišlo je do napake pri branju iz zbirke: <br /><b>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr " ni veljavna slika" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "Pretvorba ni možna" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "Ni razpoložljivih formatov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "Ne morem pretvoriti %s ker ta knjiga ni na voljo v podprtem formatu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3418,19 +3429,24 @@ msgstr "" "gesla še nimate se lahko <a " "href='http://www.librarything.com'>registrirate</a> zastonj!</p>" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" -msgstr "<b>Prenos naslovnice ni uspel.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" -msgstr "Prenos naslovnice ni uspel" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "Prenos naslovnice ni možen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "<b>Prenos naslovnice ni uspel.</b><br/>" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "Določiti morate ISBN oznako te knjige." @@ -3516,7 +3532,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3564,104 +3580,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "Dodaj vir novic po meri" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "Recepti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " dni" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -4160,7 +4168,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "<b>Ni zadetkov</b> za iskalni niz <i>%s</i>." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "Nič zadetkov najdenih" @@ -4610,34 +4618,42 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" @@ -4645,7 +4661,7 @@ msgstr "" "<span style=\"color:red; font-weight:bold\">Zadnja verzija: <a " "href=\"%s\">%s</a></span>" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " @@ -4655,19 +4671,19 @@ msgstr "" "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">seznam " "posodobitev</a>. Prikažem domačo stran?" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "Navoljo je posodobitev" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -5002,75 +5018,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5483,20 +5499,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "Kopiram <b>%s</b>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "<p>Selitev stare podatkovne baze v knjižnico eknjig v %s<br><center>" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "Krčim bazo" @@ -5504,7 +5520,7 @@ msgstr "Krčim bazo" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5855,6 +5871,7 @@ msgstr "Prenašam feed" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5885,9 +5902,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5903,7 +5922,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5914,11 +5933,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5947,6 +5968,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5954,6 +5976,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5967,7 +5990,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5982,6 +6005,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" @@ -6075,6 +6099,9 @@ msgstr "Podrobneje prikaži izhodne informacije. Koristno za razhroščevanje." #~ msgid "Help on item" #~ msgstr "Pomoč za parameter" +#~ msgid "Could not fetch cover" +#~ msgstr "Prenos naslovnice ni uspel" + #~ msgid "Author" #~ msgstr "Avtor" diff --git a/src/calibre/translations/sv.po b/src/calibre/translations/sv.po index 69149c45dd..abe73aef6f 100644 --- a/src/calibre/translations/sv.po +++ b/src/calibre/translations/sv.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-09-14 18:45+0000\n" "Last-Translator: Linus C Unneback <linus@folkdatorn.se>\n" "Language-Team: Swedish <sv@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "Läsaren har inga minneskort inkopplade." #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -386,8 +386,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -470,7 +470,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,14 +481,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -507,88 +507,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -604,27 +604,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -932,120 +932,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1087,95 +1093,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1220,26 +1226,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1538,11 +1544,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1575,11 +1581,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1933,7 +1939,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1970,56 +1976,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2050,89 +2060,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2326,13 +2336,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "" @@ -2344,7 +2354,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2506,6 +2516,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2517,39 +2528,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3236,19 +3247,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3333,7 +3349,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3381,104 +3397,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3968,7 +3976,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4393,59 +4401,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4770,75 +4786,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5189,20 +5205,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5210,7 +5226,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5536,6 +5552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5566,9 +5583,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5584,7 +5603,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5595,11 +5614,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5628,6 +5649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5635,6 +5657,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5648,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5663,6 +5686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/translations/te.po b/src/calibre/translations/te.po index ab4903e38f..fd7656147c 100644 --- a/src/calibre/translations/te.po +++ b/src/calibre/translations/te.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2009-02-26 19:09+0000\n" +"POT-Creation-Date: 2009-03-11 20:09+0000\n" "PO-Revision-Date: 2008-06-24 13:22+0000\n" "Last-Translator: వీవెన్ (Veeven) <Unknown>\n" "Language-Team: Telugu <te@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2009-03-06 17:12+0000\n" +"X-Launchpad-Export-Date: 2009-03-14 02:16+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:41 @@ -25,15 +25,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:58 #: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:196 #: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:71 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:520 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1036 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1052 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1054 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1049 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1065 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1067 #: /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:83 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:88 -#: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:62 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:96 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:98 @@ -59,7 +59,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:60 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:118 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:491 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:545 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:569 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:574 @@ -70,8 +70,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:366 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:38 @@ -86,16 +86,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 #: /home/kovid/work/calibre/src/calibre/library/cli.py:260 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:473 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:485 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:867 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:902 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1211 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1391 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1414 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1465 -#: /home/kovid/work/calibre/src/calibre/library/server.py:315 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:478 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:490 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:872 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:907 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1214 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1216 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1396 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1419 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1470 +#: /home/kovid/work/calibre/src/calibre/library/server.py:322 #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "" @@ -218,17 +218,17 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:42 #: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:390 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:70 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 msgid "The reader has no storage card connected." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:61 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:90 msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:92 msgid "There is insufficient free space in main memory" msgstr "" @@ -386,8 +386,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:198 msgid "" "Normally, if the source file already has a Table of Contents, it is used in " -"preference to the autodetected one. With this option, the autodetected one " -"is always used." +"preference to the auto-generated one. With this option, the auto-generated " +"one is always used." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:202 @@ -470,7 +470,7 @@ msgstr "" msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:229 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -481,14 +481,14 @@ msgid "" "the <spine> element of the OPF file. \n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:479 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:623 msgid "Output written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:501 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1139 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:504 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1152 msgid "You must specify an input HTML file" msgstr "" @@ -507,88 +507,88 @@ msgid "" "cause incorrect rendering." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:532 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:537 msgid "Written processed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:920 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:933 msgid "Options to control the traversal of HTML" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:927 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:940 msgid "The output directory. Default is the current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:929 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:942 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:570 msgid "Character encoding for HTML files. Default is to auto detect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:931 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:944 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:933 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 msgid "Control the following of links in HTML files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:935 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:937 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 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:939 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:952 msgid "Set metadata of the generated ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:941 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 msgid "Set the title. Default is to autodetect." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:943 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 msgid "The author(s) of the ebook, as a & separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:958 msgid "The subject(s) of this book, as a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:947 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 msgid "Set the publisher of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:949 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 msgid "A summary of this book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 msgid "Load metadata from the specified OPF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:953 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 msgid "Options useful for debugging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:955 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 msgid "" "Be more verbose while processing. Can be specified multiple times to " "increase verbosity." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:957 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 msgid "Output HTML is \"pretty printed\" for easier parsing by humans" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:963 +#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 msgid "" "%prog [options] file.html|opf\n" "\n" @@ -604,27 +604,27 @@ msgstr "" msgid "Creating LIT file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:855 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 msgid "%prog [options] LITFILE" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:858 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:515 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:569 msgid "Output directory. Defaults to current directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:861 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:898 msgid "Legibly format extracted markup. May modify meaningful whitespace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:864 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:901 #: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:582 msgid "Useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:875 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:539 +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:593 msgid "OEB ebook created in" msgstr "" @@ -932,120 +932,126 @@ msgstr "" msgid "No file to convert specified." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:225 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:228 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 msgid "" "Failed to process comic: %s\n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:287 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:292 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:293 msgid "Title for generated ebook. Default is to use the filename." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:295 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:297 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:298 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:22 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:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:300 msgid "Number of colors for grayscale image conversion. Default: %default" 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 normalize (improve contrast) color range for pictures. Default: False" 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 "Maintain picture aspect ratio. Default is to fill the screen." 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 "Disable sharpening." 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 "" +"Disable trimming of comic pages. For some comics, trimming might remove " +"content as well as borders." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:311 msgid "Don't split landscape images into two portrait images" 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:313 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:311 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:315 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:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:317 msgid "" "Enable Despeckle. Reduces speckle noise. May greatly increase processing " "time." 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:319 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:321 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:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:323 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:20 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:321 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:325 msgid "Don't show progress bar." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:324 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:329 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 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:389 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:393 msgid "Output written to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:553 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_comic.py:35 msgid "Rendering comic pages..." msgstr "" @@ -1087,95 +1093,95 @@ msgstr "" msgid "Fetching of recipe failed: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 msgid "\tBook Designer file detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:323 msgid "\tParsing HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:342 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:346 msgid "\tBaen file detected. Re-parsing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:362 msgid "Written preprocessed HTML to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:380 msgid "Processing %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:390 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:394 msgid "\tConverting to BBeB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:536 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:549 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:540 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:553 msgid "Could not parse file: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:541 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:545 msgid "%s is an empty file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:561 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:565 msgid "Failed to parse link %s %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:609 msgid "Cannot add link %s to TOC" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:954 +#: /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:999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1003 msgid "Unable to process interlaced PNG %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1014 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1018 msgid "" "Could not process image: %s\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1768 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 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:1770 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1792 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 msgid "Table has cell that is too large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1822 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1826 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:1865 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1869 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1868 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1993 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1999 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 msgid "" "Usage: %prog [options] mybook.html\n" "\n" @@ -1220,26 +1226,26 @@ msgstr "" msgid "LRS written to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:249 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:266 msgid "Could not read from thumbnail file:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:269 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:286 msgid "" "%prog [options] file.lrs\n" "Compile an LRS file into an LRF file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:287 msgid "Path to output file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:272 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:115 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:116 msgid "Verbose processing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:291 msgid "Convert LRS to LRS, useful for debugging." msgstr "" @@ -1538,11 +1544,11 @@ msgid "" "Fetch a cover image for the book identified by ISBN from LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:35 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:43 msgid "Usage: %s file.lit" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:236 msgid "Cover saved to" msgstr "" @@ -1575,11 +1581,11 @@ msgstr "" msgid "Creating Mobipocket file from EPUB..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:567 msgid "%prog [options] myebook.mobi" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:537 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:591 msgid "Raw MOBI HTML saved in" msgstr "" @@ -1933,7 +1939,7 @@ msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/warning_ui.py:52 msgid "Dialog" @@ -1970,56 +1976,60 @@ msgstr "" msgid "Set options for converting %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 msgid "&Title:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 msgid "&Author(s):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 msgid "&Number of Colors:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:502 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:540 msgid "&Profile:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 msgid "Disable &normalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 msgid "Keep &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 msgid "Disable &Sharpening" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Landscape" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 msgid "Don't so&rt" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "&Right to left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "De&speckle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "&Wide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 +msgid "Disable &Trimming" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:100 msgid " plugins" msgstr "" @@ -2050,89 +2060,89 @@ msgstr "" msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 msgid "No valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:263 msgid "%s is not a valid plugin path" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:266 msgid "Choose plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:277 msgid "Plugin cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:278 msgid "The plugin: %s cannot be disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 msgid "Plugin not customizable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:289 msgid "Plugin: %s does not need customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:292 msgid "Customize %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:302 msgid "Cannot remove builtin plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:299 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:303 msgid " cannot be removed. It is a builtin plugin. Try disabling it instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 msgid "Error log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:331 msgid "Access log:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:356 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:409 msgid "Failed to start content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "Invalid size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:396 msgid "The size %s is invalid. must be of the form widthxheight" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:424 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:428 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:438 msgid "Invalid database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "<br>Must be a directory." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:435 msgid "Invalid database location " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:439 msgid "Invalid database location.<br>Cannot write to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting database. This may take a while." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config.py:451 msgid "Compacting..." msgstr "" @@ -2326,13 +2336,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:460 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:461 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 msgid "&Password:" msgstr "&సంకేతపదం:" @@ -2344,7 +2354,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:463 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 msgid "&Show password" msgstr "" @@ -2506,6 +2516,7 @@ msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:183 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:68 msgid "Error reading file" @@ -2517,39 +2528,39 @@ msgstr "" msgid "<p>There was an error reading from file: <br /><b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:130 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:190 msgid " is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:1054 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:243 msgid "This book has no available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:93 msgid "No available formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:248 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:249 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single.py:94 msgid "Cannot convert %s as this book has no supported formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:252 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:253 msgid "Choose the format to convert to " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 msgid "Invalid XPath expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub.py:266 msgid "The expression %s is invalid. Error: %s" msgstr "" @@ -3236,19 +3247,24 @@ msgid "" "for free!.</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "<b>Could not fetch cover.</b><br/>" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:349 +msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:355 -msgid "Could not fetch cover" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:350 +msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:363 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:357 +msgid "<b>Could not fetch cover.</b><br/>" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 msgid "You must specify the ISBN identifier for this book." msgstr "" @@ -3333,7 +3349,7 @@ msgid "Scheduled" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:217 msgid "Search" msgstr "" @@ -3381,104 +3397,96 @@ msgstr "" msgid "This recipe requires a username and password" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:375 msgid "Created by: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:413 msgid "%d days, %d hours and %d minutes ago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:415 msgid "Last downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:417 msgid "Last downloaded: never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:438 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:162 msgid "Schedule news download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:446 msgid "Add a custom news source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:453 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:811 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:815 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1130 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:816 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1135 msgid "News" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:221 msgid "Recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:164 msgid "Schedule for download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 -msgid "title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:165 +msgid "blurb" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 -msgid "description" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 -msgid "author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:166 msgid "&Schedule for download:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:169 msgid "Every " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:168 msgid "at" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:170 msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:263 msgid " days" msgstr " రోజులు" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:172 msgid "&Account" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:176 msgid "For the scheduling to work, you must leave calibre running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:177 msgid "&Download now" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:178 msgid "" "Delete downloaded news older than the specified number of days. Set to zero " "to disable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:180 msgid "Delete downloaded news older than " msgstr "" @@ -3968,7 +3976,7 @@ msgid "<b>No matches</b> for the search phrase <i>%s</i> were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:157 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:383 msgid "No matches found" msgstr "" @@ -4393,59 +4401,67 @@ msgid "" "first remove the DRM using 3rd party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1448 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1413 +msgid "Invalid library location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1414 +msgid "Could not access %s. Using %s as the library." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1456 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:1470 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1478 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1472 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1480 msgid "" " is communicating with the device!<br>\n" " 'Quitting may cause corruption on the device.<br>\n" " 'Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1476 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1484 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1510 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1518 msgid "" "will keep running in the system tray. To close it, choose <b>Quit</b> in the " "context menu of the system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1527 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1535 msgid "" "<span style=\"color:red; font-weight:bold\">Latest version: <a " "href=\"%s\">%s</a></span>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "" "%s has been updated to version %s. See the <a " "href=\"http://calibre.kovidgoyal.net/wiki/Changelog\">new features</a>. " "Visit the download page?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1532 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1540 msgid "Update available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1547 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1555 msgid "Use the library located at the specified path." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1549 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1557 msgid "Start minimized to system tray." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1551 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:1559 msgid "Log debugging information to console" msgstr "" @@ -4770,75 +4786,75 @@ msgstr "" msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:206 msgid "Position in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:207 msgid "/Unknown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:212 msgid "Go to a reference. To get reference numbers, use the reference mode." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:218 msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:344 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:345 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:363 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:384 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:425 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:424 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:452 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:451 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:503 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "<p>This book is protected by <a href=\"%s\">DRM</a>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:511 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:513 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:514 msgid "<b>%s</b><br/><p>%s</p>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:575 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:574 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:583 msgid "" "%prog [options] file\n" "\n" @@ -5189,20 +5205,20 @@ msgid "" "For help on an individual command: %%prog command --help\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1234 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 msgid "<p>Copying books to %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1247 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1356 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1252 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1361 msgid "Copying <b>%s</b>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1327 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1332 msgid "<p>Migrating old database to ebook library in %s<br><center>" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1378 msgid "Compacting database" msgstr "" @@ -5210,7 +5226,7 @@ msgstr "" msgid "Password to access your calibre library. Username is " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server.py:385 +#: /home/kovid/work/calibre/src/calibre/library/server.py:392 msgid "" "[options]\n" "\n" @@ -5536,6 +5552,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_criticadigital.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_mercurio_chile.py:61 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_pais.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_el_universal.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elargentino.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elcronista.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_elmundo.py:60 @@ -5566,9 +5583,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cincinnati_enquirer.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cnn.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_common_dreams.py:8 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_mail.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_daily_telegraph.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_discover_magazine.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_dna.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_ecogeek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_economist.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_endgadget.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_espn.py:17 @@ -5584,7 +5603,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_harpers_full.py:27 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_honoluluadvertiser.py:18 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:14 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_iht.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_indy_star.py:6 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_irish_times.py:12 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_japan_times.py:15 @@ -5595,11 +5614,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linux_magazine.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_linuxdevices.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_lrb.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_miami_herald.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_moscow_times.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nasa.py:34 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_scientist.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_new_yorker.py:16 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_news_times.py:7 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_newsweek.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm_int.py:17 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nytimes.py:17 @@ -5628,6 +5649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_oz.py:16 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_the_scotsman.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_themarketticker.py:17 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_theonion.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_time_magazine.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_times_online.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_tomshardware.py:18 @@ -5635,6 +5657,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_usatoday.py:18 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_utne.py:20 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wash_post.py:12 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wikinews_en.py:23 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_winsupersite.py:10 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wired.py:15 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_wsj.py:16 @@ -5648,7 +5671,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_borba.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_danas.py:22 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_e_novine.py:26 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:29 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nin.py:30 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_novosti.py:24 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_nspm.py:25 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_pescanik.py:25 @@ -5663,6 +5686,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_cyberpresse.py:9 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_le_monde.py:19 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_liberation.py:15 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_mediapart.py:19 msgid "French" msgstr "" diff --git a/src/calibre/utils/Zeroconf.py b/src/calibre/utils/Zeroconf.py new file mode 100755 index 0000000000..3bdb992685 --- /dev/null +++ b/src/calibre/utils/Zeroconf.py @@ -0,0 +1,1578 @@ +''' Multicast DNS Service Discovery for Python, v0.12 + Copyright (C) 2003, Paul Scott-Murphy + + This module provides a framework for the use of DNS Service Discovery + using IP multicast. It has been tested against the JRendezvous + implementation from <a href='http://strangeberry.com'>StrangeBerry</a>, + and against the mDNSResponder from Mac OS X 10.3.8. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +''' + +'''0.12 update - allow selection of binding interface + typo fix - Thanks A. M. Kuchlingi + removed all use of word 'Rendezvous' - this is an API change''' + +'''0.11 update - correction to comments for addListener method + support for new record types seen from OS X + - IPv6 address + - hostinfo + ignore unknown DNS record types + fixes to name decoding + works alongside other processes using port 5353 (e.g. on Mac OS X) + tested against Mac OS X 10.3.2's mDNSResponder + corrections to removal of list entries for service browser''' + +'''0.10 update - Jonathon Paisley contributed these corrections: + always multicast replies, even when query is unicast + correct a pointer encoding problem + can now write records in any order + traceback shown on failure + better TXT record parsing + server is now separate from name + can cancel a service browser + + modified some unit tests to accommodate these changes''' + +'''0.09 update - remove all records on service unregistration + fix DOS security problem with readName''' + +'''0.08 update - changed licensing to LGPL''' + +'''0.07 update - faster shutdown on engine + pointer encoding of outgoing names + ServiceBrowser now works + new unit tests''' + +'''0.06 update - small improvements with unit tests + added defined exception types + new style objects + fixed hostname/interface problem + fixed socket timeout problem + fixed addServiceListener() typo bug + using select() for socket reads + tested on Debian unstable with Python 2.2.2''' + +'''0.05 update - ensure case insensitivty on domain names + support for unicast DNS queries''' + +'''0.04 update - added some unit tests + added __ne__ adjuncts where required + ensure names end in '.local.' + timeout on receiving socket for clean shutdown''' + +__author__ = 'Paul Scott-Murphy' +__email__ = 'paul at scott dash murphy dot com' +__version__ = '0.12' + +import string +import time +import struct +import socket +import threading +import select +import traceback + +__all__ = ['Zeroconf', 'ServiceInfo', 'ServiceBrowser'] + +# hook for threads + +globals()['_GLOBAL_DONE'] = 0 + +# Some timing constants + +_UNREGISTER_TIME = 125 +_CHECK_TIME = 175 +_REGISTER_TIME = 225 +_LISTENER_TIME = 200 +_BROWSER_TIME = 500 + +# Some DNS constants + +_MDNS_ADDR = '224.0.0.251' +_MDNS_PORT = 5353; +_DNS_PORT = 53; +_DNS_TTL = 60 * 60; # one hour default TTL + +_MAX_MSG_TYPICAL = 1460 # unused +_MAX_MSG_ABSOLUTE = 8972 + +_FLAGS_QR_MASK = 0x8000 # query response mask +_FLAGS_QR_QUERY = 0x0000 # query +_FLAGS_QR_RESPONSE = 0x8000 # response + +_FLAGS_AA = 0x0400 # Authorative answer +_FLAGS_TC = 0x0200 # Truncated +_FLAGS_RD = 0x0100 # Recursion desired +_FLAGS_RA = 0x8000 # Recursion available + +_FLAGS_Z = 0x0040 # Zero +_FLAGS_AD = 0x0020 # Authentic data +_FLAGS_CD = 0x0010 # Checking disabled + +_CLASS_IN = 1 +_CLASS_CS = 2 +_CLASS_CH = 3 +_CLASS_HS = 4 +_CLASS_NONE = 254 +_CLASS_ANY = 255 +_CLASS_MASK = 0x7FFF +_CLASS_UNIQUE = 0x8000 + +_TYPE_A = 1 +_TYPE_NS = 2 +_TYPE_MD = 3 +_TYPE_MF = 4 +_TYPE_CNAME = 5 +_TYPE_SOA = 6 +_TYPE_MB = 7 +_TYPE_MG = 8 +_TYPE_MR = 9 +_TYPE_NULL = 10 +_TYPE_WKS = 11 +_TYPE_PTR = 12 +_TYPE_HINFO = 13 +_TYPE_MINFO = 14 +_TYPE_MX = 15 +_TYPE_TXT = 16 +_TYPE_AAAA = 28 +_TYPE_SRV = 33 +_TYPE_ANY = 255 + +# Mapping constants to names + +_CLASSES = { _CLASS_IN : 'in', + _CLASS_CS : 'cs', + _CLASS_CH : 'ch', + _CLASS_HS : 'hs', + _CLASS_NONE : 'none', + _CLASS_ANY : 'any' } + +_TYPES = { _TYPE_A : 'a', + _TYPE_NS : 'ns', + _TYPE_MD : 'md', + _TYPE_MF : 'mf', + _TYPE_CNAME : 'cname', + _TYPE_SOA : 'soa', + _TYPE_MB : 'mb', + _TYPE_MG : 'mg', + _TYPE_MR : 'mr', + _TYPE_NULL : 'null', + _TYPE_WKS : 'wks', + _TYPE_PTR : 'ptr', + _TYPE_HINFO : 'hinfo', + _TYPE_MINFO : 'minfo', + _TYPE_MX : 'mx', + _TYPE_TXT : 'txt', + _TYPE_AAAA : 'quada', + _TYPE_SRV : 'srv', + _TYPE_ANY : 'any' } + +# utility functions + +def currentTimeMillis(): + '''Current system time in milliseconds''' + return time.time() * 1000 + +# Exceptions + +class NonLocalNameException(Exception): + pass + +class NonUniqueNameException(Exception): + pass + +class NamePartTooLongException(Exception): + pass + +class AbstractMethodException(Exception): + pass + +class BadTypeInNameException(Exception): + pass + +# implementation classes + +class DNSEntry(object): + '''A DNS entry''' + + def __init__(self, name, type, clazz): + self.key = string.lower(name) + self.name = name + self.type = type + self.clazz = clazz & _CLASS_MASK + self.unique = (clazz & _CLASS_UNIQUE) != 0 + + def __eq__(self, other): + '''Equality test on name, type, and class''' + if isinstance(other, DNSEntry): + return self.name == other.name and self.type == other.type and self.clazz == other.clazz + return 0 + + def __ne__(self, other): + '''Non-equality test''' + return not self.__eq__(other) + + def getClazz(self, clazz): + '''Class accessor''' + try: + return _CLASSES[clazz] + except: + return '?(%s)' % (clazz) + + def getType(self, type): + '''Type accessor''' + try: + return _TYPES[type] + except: + return '?(%s)' % (type) + + def toString(self, hdr, other): + '''String representation with additional information''' + result = '%s[%s,%s' % (hdr, self.getType(self.type), self.getClazz(self.clazz)) + if self.unique: + result += '-unique,' + else: + result += ',' + result += self.name + if other is not None: + result += ',%s]' % (other) + else: + result += ']' + return result + +class DNSQuestion(DNSEntry): + '''A DNS question entry''' + + def __init__(self, name, type, clazz): + if not name.endswith('.local.'): + raise NonLocalNameException + DNSEntry.__init__(self, name, type, clazz) + + def answeredBy(self, rec): + '''Returns true if the question is answered by the record''' + return self.clazz == rec.clazz and (self.type == rec.type or self.type == _TYPE_ANY) and self.name == rec.name + + def __repr__(self): + '''String representation''' + return DNSEntry.toString(self, 'question', None) + + +class DNSRecord(DNSEntry): + '''A DNS record - like a DNS entry, but has a TTL''' + + def __init__(self, name, type, clazz, ttl): + DNSEntry.__init__(self, name, type, clazz) + self.ttl = ttl + self.created = currentTimeMillis() + + def __eq__(self, other): + '''Tests equality as per DNSRecord''' + if isinstance(other, DNSRecord): + return DNSEntry.__eq__(self, other) + return 0 + + def suppressedBy(self, msg): + '''Returns true if any answer in a message can suffice for the + information held in this record.''' + for record in msg.answers: + if self.suppressedByAnswer(record): + return 1 + return 0 + + def suppressedByAnswer(self, other): + '''Returns true if another record has same name, type and class, + and if its TTL is at least half of this record's.''' + if self == other and other.ttl > (self.ttl / 2): + return 1 + return 0 + + def getExpirationTime(self, percent): + '''Returns the time at which this record will have expired + by a certain percentage.''' + return self.created + (percent * self.ttl * 10) + + def getRemainingTTL(self, now): + '''Returns the remaining TTL in seconds.''' + return max(0, (self.getExpirationTime(100) - now) / 1000) + + def isExpired(self, now): + '''Returns true if this record has expired.''' + return self.getExpirationTime(100) <= now + + def isStale(self, now): + '''Returns true if this record is at least half way expired.''' + return self.getExpirationTime(50) <= now + + def resetTTL(self, other): + '''Sets this record's TTL and created time to that of + another record.''' + self.created = other.created + self.ttl = other.ttl + + def write(self, out): + '''Abstract method''' + raise AbstractMethodException + + def toString(self, other): + '''String representation with addtional information''' + arg = '%s/%s,%s' % (self.ttl, self.getRemainingTTL(currentTimeMillis()), other) + return DNSEntry.toString(self, 'record', arg) + +class DNSAddress(DNSRecord): + '''A DNS address record''' + + def __init__(self, name, type, clazz, ttl, address): + DNSRecord.__init__(self, name, type, clazz, ttl) + self.address = address + + def write(self, out): + '''Used in constructing an outgoing packet''' + out.writeString(self.address, len(self.address)) + + def __eq__(self, other): + '''Tests equality on address''' + if isinstance(other, DNSAddress): + return self.address == other.address + return 0 + + def __repr__(self): + '''String representation''' + try: + return socket.inet_ntoa(self.address) + except: + return self.address + +class DNSHinfo(DNSRecord): + '''A DNS host information record''' + + def __init__(self, name, type, clazz, ttl, cpu, os): + DNSRecord.__init__(self, name, type, clazz, ttl) + self.cpu = cpu + self.os = os + + def write(self, out): + '''Used in constructing an outgoing packet''' + out.writeString(self.cpu, len(self.cpu)) + out.writeString(self.os, len(self.os)) + + def __eq__(self, other): + '''Tests equality on cpu and os''' + if isinstance(other, DNSHinfo): + return self.cpu == other.cpu and self.os == other.os + return 0 + + def __repr__(self): + '''String representation''' + return self.cpu + ' ' + self.os + +class DNSPointer(DNSRecord): + '''A DNS pointer record''' + + def __init__(self, name, type, clazz, ttl, alias): + DNSRecord.__init__(self, name, type, clazz, ttl) + self.alias = alias + + def write(self, out): + '''Used in constructing an outgoing packet''' + out.writeName(self.alias) + + def __eq__(self, other): + '''Tests equality on alias''' + if isinstance(other, DNSPointer): + return self.alias == other.alias + return 0 + + def __repr__(self): + '''String representation''' + return self.toString(self.alias) + +class DNSText(DNSRecord): + '''A DNS text record''' + + def __init__(self, name, type, clazz, ttl, text): + DNSRecord.__init__(self, name, type, clazz, ttl) + self.text = text + + def write(self, out): + '''Used in constructing an outgoing packet''' + out.writeString(self.text, len(self.text)) + + def __eq__(self, other): + '''Tests equality on text''' + if isinstance(other, DNSText): + return self.text == other.text + return 0 + + def __repr__(self): + '''String representation''' + if len(self.text) > 10: + return self.toString(self.text[:7] + '...') + else: + return self.toString(self.text) + +class DNSService(DNSRecord): + '''A DNS service record''' + + def __init__(self, name, type, clazz, ttl, priority, weight, port, server): + DNSRecord.__init__(self, name, type, clazz, ttl) + self.priority = priority + self.weight = weight + self.port = port + self.server = server + + def write(self, out): + '''Used in constructing an outgoing packet''' + out.writeShort(self.priority) + out.writeShort(self.weight) + out.writeShort(self.port) + out.writeName(self.server) + + def __eq__(self, other): + '''Tests equality on priority, weight, port and server''' + if isinstance(other, DNSService): + return self.priority == other.priority and self.weight == other.weight and self.port == other.port and self.server == other.server + return 0 + + def __repr__(self): + '''String representation''' + return self.toString('%s:%s' % (self.server, self.port)) + +class DNSIncoming(object): + '''Object representation of an incoming DNS packet''' + + def __init__(self, data): + '''Constructor from string holding bytes of packet''' + self.offset = 0 + self.data = data + self.questions = [] + self.answers = [] + self.numQuestions = 0 + self.numAnswers = 0 + self.numAuthorities = 0 + self.numAdditionals = 0 + + self.readHeader() + self.readQuestions() + self.readOthers() + + def readHeader(self): + '''Reads header portion of packet''' + format = '!HHHHHH' + length = struct.calcsize(format) + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + + self.id = info[0] + self.flags = info[1] + self.numQuestions = info[2] + self.numAnswers = info[3] + self.numAuthorities = info[4] + self.numAdditionals = info[5] + + def readQuestions(self): + '''Reads questions section of packet''' + format = '!HH' + length = struct.calcsize(format) + for i in range(0, self.numQuestions): + name = self.readName() + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + + question = DNSQuestion(name, info[0], info[1]) + self.questions.append(question) + + def readInt(self): + '''Reads an integer from the packet''' + format = '!I' + length = struct.calcsize(format) + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + return info[0] + + def readCharacterString(self): + '''Reads a character string from the packet''' + length = ord(self.data[self.offset]) + self.offset += 1 + return self.readString(length) + + def readString(self, len): + '''Reads a string of a given length from the packet''' + format = '!' + str(len) + 's' + length = struct.calcsize(format) + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + return info[0] + + def readUnsignedShort(self): + '''Reads an unsigned short from the packet''' + format = '!H' + length = struct.calcsize(format) + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + return info[0] + + def readOthers(self): + '''Reads the answers, authorities and additionals section of the packet''' + format = '!HHiH' + length = struct.calcsize(format) + n = self.numAnswers + self.numAuthorities + self.numAdditionals + for i in range(0, n): + domain = self.readName() + info = struct.unpack(format, self.data[self.offset:self.offset+length]) + self.offset += length + + rec = None + if info[0] == _TYPE_A: + rec = DNSAddress(domain, info[0], info[1], info[2], self.readString(4)) + elif info[0] == _TYPE_CNAME or info[0] == _TYPE_PTR: + rec = DNSPointer(domain, info[0], info[1], info[2], self.readName()) + elif info[0] == _TYPE_TXT: + rec = DNSText(domain, info[0], info[1], info[2], self.readString(info[3])) + elif info[0] == _TYPE_SRV: + rec = DNSService(domain, info[0], info[1], info[2], self.readUnsignedShort(), self.readUnsignedShort(), self.readUnsignedShort(), self.readName()) + elif info[0] == _TYPE_HINFO: + rec = DNSHinfo(domain, info[0], info[1], info[2], self.readCharacterString(), self.readCharacterString()) + elif info[0] == _TYPE_AAAA: + rec = DNSAddress(domain, info[0], info[1], info[2], self.readString(16)) + else: + # Try to ignore types we don't know about + # this may mean the rest of the name is + # unable to be parsed, and may show errors + # so this is left for debugging. New types + # encountered need to be parsed properly. + # + #print 'UNKNOWN TYPE = ' + str(info[0]) + #raise BadTypeInNameException + pass + + if rec is not None: + self.answers.append(rec) + + def isQuery(self): + '''Returns true if this is a query''' + return (self.flags & _FLAGS_QR_MASK) == _FLAGS_QR_QUERY + + def isResponse(self): + '''Returns true if this is a response''' + return (self.flags & _FLAGS_QR_MASK) == _FLAGS_QR_RESPONSE + + def readUTF(self, offset, len): + '''Reads a UTF-8 string of a given length from the packet''' + result = self.data[offset:offset+len].decode('utf-8') + return result + + def readName(self): + '''Reads a domain name from the packet''' + result = '' + off = self.offset + next = -1 + first = off + + while 1: + len = ord(self.data[off]) + off += 1 + if len == 0: + break + t = len & 0xC0 + if t == 0x00: + result = ''.join((result, self.readUTF(off, len) + '.')) + off += len + elif t == 0xC0: + if next < 0: + next = off + 1 + off = ((len & 0x3F) << 8) | ord(self.data[off]) + if off >= first: + raise 'Bad domain name (circular) at ' + str(off) + first = off + else: + raise 'Bad domain name at ' + str(off) + + if next >= 0: + self.offset = next + else: + self.offset = off + + return result + + +class DNSOutgoing(object): + '''Object representation of an outgoing packet''' + + def __init__(self, flags, multicast = 1): + self.finished = 0 + self.id = 0 + self.multicast = multicast + self.flags = flags + self.names = {} + self.data = [] + self.size = 12 + + self.questions = [] + self.answers = [] + self.authorities = [] + self.additionals = [] + + def addQuestion(self, record): + '''Adds a question''' + self.questions.append(record) + + def addAnswer(self, inp, record): + '''Adds an answer''' + if not record.suppressedBy(inp): + self.addAnswerAtTime(record, 0) + + def addAnswerAtTime(self, record, now): + '''Adds an answer if if does not expire by a certain time''' + if record is not None: + if now == 0 or not record.isExpired(now): + self.answers.append((record, now)) + + def addAuthorativeAnswer(self, record): + '''Adds an authoritative answer''' + self.authorities.append(record) + + def addAdditionalAnswer(self, record): + '''Adds an additional answer''' + self.additionals.append(record) + + def writeByte(self, value): + '''Writes a single byte to the packet''' + format = '!c' + self.data.append(struct.pack(format, chr(value))) + self.size += 1 + + def insertShort(self, index, value): + '''Inserts an unsigned short in a certain position in the packet''' + format = '!H' + self.data.insert(index, struct.pack(format, value)) + self.size += 2 + + def writeShort(self, value): + '''Writes an unsigned short to the packet''' + format = '!H' + self.data.append(struct.pack(format, value)) + self.size += 2 + + def writeInt(self, value): + '''Writes an unsigned integer to the packet''' + format = '!I' + self.data.append(struct.pack(format, value)) + self.size += 4 + + def writeString(self, value, length): + '''Writes a string to the packet''' + format = '!' + str(length) + 's' + self.data.append(struct.pack(format, value)) + self.size += length + + def writeUTF(self, s): + '''Writes a UTF-8 string of a given length to the packet''' + utfstr = s.encode('utf-8') + length = len(utfstr) + if length > 64: + raise NamePartTooLongException + self.writeByte(length) + self.writeString(utfstr, length) + + def writeName(self, name): + '''Writes a domain name to the packet''' + + try: + # Find existing instance of this name in packet + # + index = self.names[name] + except KeyError: + # No record of this name already, so write it + # out as normal, recording the location of the name + # for future pointers to it. + # + self.names[name] = self.size + parts = name.split('.') + if parts[-1] == '': + parts = parts[:-1] + for part in parts: + self.writeUTF(part) + self.writeByte(0) + return + + # An index was found, so write a pointer to it + # + self.writeByte((index >> 8) | 0xC0) + self.writeByte(index) + + def writeQuestion(self, question): + '''Writes a question to the packet''' + self.writeName(question.name) + self.writeShort(question.type) + self.writeShort(question.clazz) + + def writeRecord(self, record, now): + '''Writes a record (answer, authoritative answer, additional) to + the packet''' + self.writeName(record.name) + self.writeShort(record.type) + if record.unique and self.multicast: + self.writeShort(record.clazz | _CLASS_UNIQUE) + else: + self.writeShort(record.clazz) + if now == 0: + self.writeInt(record.ttl) + else: + self.writeInt(record.getRemainingTTL(now)) + index = len(self.data) + # Adjust size for the short we will write before this record + # + self.size += 2 + record.write(self) + self.size -= 2 + + length = len(''.join(self.data[index:])) + self.insertShort(index, length) # Here is the short we adjusted for + + def packet(self): + '''Returns a string containing the packet's bytes + + No further parts should be added to the packet once this + is done.''' + if not self.finished: + self.finished = 1 + for question in self.questions: + self.writeQuestion(question) + for answer, time in self.answers: + self.writeRecord(answer, time) + for authority in self.authorities: + self.writeRecord(authority, 0) + for additional in self.additionals: + self.writeRecord(additional, 0) + + self.insertShort(0, len(self.additionals)) + self.insertShort(0, len(self.authorities)) + self.insertShort(0, len(self.answers)) + self.insertShort(0, len(self.questions)) + self.insertShort(0, self.flags) + if self.multicast: + self.insertShort(0, 0) + else: + self.insertShort(0, self.id) + return ''.join(self.data) + + +class DNSCache(object): + '''A cache of DNS entries''' + + def __init__(self): + self.cache = {} + + def add(self, entry): + '''Adds an entry''' + try: + list = self.cache[entry.key] + except: + list = self.cache[entry.key] = [] + list.append(entry) + + def remove(self, entry): + '''Removes an entry''' + try: + list = self.cache[entry.key] + list.remove(entry) + except: + pass + + def get(self, entry): + '''Gets an entry by key. Will return None if there is no + matching entry.''' + try: + list = self.cache[entry.key] + return list[list.index(entry)] + except: + return None + + def getByDetails(self, name, type, clazz): + '''Gets an entry by details. Will return None if there is + no matching entry.''' + entry = DNSEntry(name, type, clazz) + return self.get(entry) + + def entriesWithName(self, name): + '''Returns a list of entries whose key matches the name.''' + try: + return self.cache[name] + except: + return [] + + def entries(self): + '''Returns a list of all entries''' + def add(x, y): return x+y + try: + return reduce(add, self.cache.values()) + except: + return [] + + +class Engine(threading.Thread): + '''An engine wraps read access to sockets, allowing objects that + need to receive data from sockets to be called back when the + sockets are ready. + + A reader needs a handle_read() method, which is called when the socket + it is interested in is ready for reading. + + Writers are not implemented here, because we only send short + packets. + ''' + + def __init__(self, zeroconf): + threading.Thread.__init__(self) + self.zeroconf = zeroconf + self.readers = {} # maps socket to reader + self.timeout = 5 + self.condition = threading.Condition() + self.setDaemon(True) # By Kovid + self.start() + + def run(self): + while not globals()['_GLOBAL_DONE']: + rs = self.getReaders() + if len(rs) == 0: + # No sockets to manage, but we wait for the timeout + # or addition of a socket + # + self.condition.acquire() + self.condition.wait(self.timeout) + self.condition.release() + else: + try: + rr, wr, er = select.select(rs, [], [], self.timeout) + for socket in rr: + try: + self.readers[socket].handle_read() + except: + traceback.print_exc() + except: + pass + + def getReaders(self): + result = [] + self.condition.acquire() + result = self.readers.keys() + self.condition.release() + return result + + def addReader(self, reader, socket): + self.condition.acquire() + self.readers[socket] = reader + self.condition.notify() + self.condition.release() + + def delReader(self, socket): + self.condition.acquire() + del(self.readers[socket]) + self.condition.notify() + self.condition.release() + + def notify(self): + self.condition.acquire() + self.condition.notify() + self.condition.release() + +class Listener(object): + '''A Listener is used by this module to listen on the multicast + group to which DNS messages are sent, allowing the implementation + to cache information as it arrives. + + It requires registration with an Engine object in order to have + the read() method called when a socket is availble for reading.''' + + def __init__(self, zeroconf): + self.zeroconf = zeroconf + self.zeroconf.engine.addReader(self, self.zeroconf.socket) + + def handle_read(self): + data, (addr, port) = self.zeroconf.socket.recvfrom(_MAX_MSG_ABSOLUTE) + self.data = data + msg = DNSIncoming(data) + if msg.isQuery(): + # Always multicast responses + # + if port == _MDNS_PORT: + self.zeroconf.handleQuery(msg, _MDNS_ADDR, _MDNS_PORT) + # If it's not a multicast query, reply via unicast + # and multicast + # + elif port == _DNS_PORT: + self.zeroconf.handleQuery(msg, addr, port) + self.zeroconf.handleQuery(msg, _MDNS_ADDR, _MDNS_PORT) + else: + self.zeroconf.handleResponse(msg) + + +class Reaper(threading.Thread): + '''A Reaper is used by this module to remove cache entries that + have expired.''' + + def __init__(self, zeroconf): + threading.Thread.__init__(self) + self.zeroconf = zeroconf + self.setDaemon(True) + self.start() + + def run(self): + while 1: + try: + self.zeroconf.wait(10 * 1000) + except TypeError: # By Kovid + globals()['_GLOBAL_DONE'] = 1 + return + if globals()['_GLOBAL_DONE']: + return + now = currentTimeMillis() + for record in self.zeroconf.cache.entries(): + if record.isExpired(now): + self.zeroconf.updateRecord(now, record) + self.zeroconf.cache.remove(record) + + +class ServiceBrowser(threading.Thread): + '''Used to browse for a service of a specific type. + + The listener object will have its addService() and + removeService() methods called when this browser + discovers changes in the services availability.''' + + def __init__(self, zeroconf, type, listener): + '''Creates a browser for a specific type''' + threading.Thread.__init__(self) + self.zeroconf = zeroconf + self.type = type + self.listener = listener + self.services = {} + self.nextTime = currentTimeMillis() + self.delay = _BROWSER_TIME + self.list = [] + + self.done = 0 + + self.zeroconf.addListener(self, DNSQuestion(self.type, _TYPE_PTR, _CLASS_IN)) + self.start() + + def updateRecord(self, zeroconf, now, record): + '''Callback invoked by Zeroconf when new information arrives. + + Updates information required by browser in the Zeroconf cache.''' + if record.type == _TYPE_PTR and record.name == self.type: + expired = record.isExpired(now) + try: + oldrecord = self.services[record.alias.lower()] + if not expired: + oldrecord.resetTTL(record) + else: + del(self.services[record.alias.lower()]) + callback = lambda x: self.listener.removeService(x, self.type, record.alias) + self.list.append(callback) + return + except: + if not expired: + self.services[record.alias.lower()] = record + callback = lambda x: self.listener.addService(x, self.type, record.alias) + self.list.append(callback) + + expires = record.getExpirationTime(75) + if expires < self.nextTime: + self.nextTime = expires + + def cancel(self): + self.done = 1 + self.zeroconf.notifyAll() + + def run(self): + while 1: + event = None + now = currentTimeMillis() + if len(self.list) == 0 and self.nextTime > now: + self.zeroconf.wait(self.nextTime - now) + if globals()['_GLOBAL_DONE'] or self.done: + return + now = currentTimeMillis() + + if self.nextTime <= now: + out = DNSOutgoing(_FLAGS_QR_QUERY) + out.addQuestion(DNSQuestion(self.type, _TYPE_PTR, _CLASS_IN)) + for record in self.services.values(): + if not record.isExpired(now): + out.addAnswerAtTime(record, now) + self.zeroconf.send(out) + self.nextTime = now + self.delay + self.delay = min(20 * 1000, self.delay * 2) + + if len(self.list) > 0: + event = self.list.pop(0) + + if event is not None: + event(self.zeroconf) + + +class ServiceInfo(object): + '''Service information''' + + def __init__(self, type, name, address=None, port=None, weight=0, + priority=0, properties=None, server=None): + '''Create a service description. + + type: fully qualified service type name + name: fully qualified service name + address: IP address as unsigned short, network byte order + port: port that the service runs on + weight: weight of the service + priority: priority of the service + properties: dictionary of properties (or a string holding the bytes for the text field) + server: fully qualified name for service host (defaults to name)''' + + if not name.endswith(type): + raise BadTypeInNameException + self.type = type + self.name = name + self.address = address + self.port = port + self.weight = weight + self.priority = priority + if server: + self.server = server + else: + self.server = name + self.setProperties(properties) + + def setProperties(self, properties): + '''Sets properties and text of this info from a dictionary''' + if isinstance(properties, dict): + self.properties = properties + list = [] + result = '' + for key in properties: + value = properties[key] + if value is None: + suffix = ''.encode('utf-8') + elif isinstance(value, str): + suffix = value.encode('utf-8') + elif isinstance(value, int): + if value: + suffix = 'true' + else: + suffix = 'false' + else: + suffix = ''.encode('utf-8') + list.append('='.join((key, suffix))) + for item in list: + result = ''.join((result, struct.pack('!c', chr(len(item))), item)) + self.text = result + else: + self.text = properties + + def setText(self, text): + '''Sets properties and text given a text field''' + self.text = text + try: + result = {} + end = len(text) + index = 0 + strs = [] + while index < end: + length = ord(text[index]) + index += 1 + strs.append(text[index:index+length]) + index += length + + for s in strs: + eindex = s.find('=') + if eindex == -1: + # No equals sign at all + key = s + value = 0 + else: + key = s[:eindex] + value = s[eindex+1:] + if value == 'true': + value = 1 + elif value == 'false' or not value: + value = 0 + + # Only update non-existent properties + if key and result.get(key) == None: + result[key] = value + + self.properties = result + except: + traceback.print_exc() + self.properties = None + + def getType(self): + '''Type accessor''' + return self.type + + def getName(self): + '''Name accessor''' + if self.type is not None and self.name.endswith('.' + self.type): + return self.name[:len(self.name) - len(self.type) - 1] + return self.name + + def getAddress(self): + '''Address accessor''' + return self.address + + def getPort(self): + '''Port accessor''' + return self.port + + def getPriority(self): + '''Pirority accessor''' + return self.priority + + def getWeight(self): + '''Weight accessor''' + return self.weight + + def getProperties(self): + '''Properties accessor''' + return self.properties + + def getText(self): + '''Text accessor''' + return self.text + + def getServer(self): + '''Server accessor''' + return self.server + + def updateRecord(self, zeroconf, now, record): + '''Updates service information from a DNS record''' + if record is not None and not record.isExpired(now): + if record.type == _TYPE_A: + #if record.name == self.name: + if record.name == self.server: + self.address = record.address + elif record.type == _TYPE_SRV: + if record.name == self.name: + self.server = record.server + self.port = record.port + self.weight = record.weight + self.priority = record.priority + #self.address = None + self.updateRecord(zeroconf, now, zeroconf.cache.getByDetails(self.server, _TYPE_A, _CLASS_IN)) + elif record.type == _TYPE_TXT: + if record.name == self.name: + self.setText(record.text) + + def request(self, zeroconf, timeout): + '''Returns true if the service could be discovered on the + network, and updates this object with details discovered. + ''' + now = currentTimeMillis() + delay = _LISTENER_TIME + next = now + delay + last = now + timeout + result = 0 + try: + zeroconf.addListener(self, DNSQuestion(self.name, _TYPE_ANY, _CLASS_IN)) + while self.server is None or self.address is None or self.text is None: + if last <= now: + return 0 + if next <= now: + out = DNSOutgoing(_FLAGS_QR_QUERY) + out.addQuestion(DNSQuestion(self.name, _TYPE_SRV, _CLASS_IN)) + out.addAnswerAtTime(zeroconf.cache.getByDetails(self.name, _TYPE_SRV, _CLASS_IN), now) + out.addQuestion(DNSQuestion(self.name, _TYPE_TXT, _CLASS_IN)) + out.addAnswerAtTime(zeroconf.cache.getByDetails(self.name, _TYPE_TXT, _CLASS_IN), now) + if self.server is not None: + out.addQuestion(DNSQuestion(self.server, _TYPE_A, _CLASS_IN)) + out.addAnswerAtTime(zeroconf.cache.getByDetails(self.server, _TYPE_A, _CLASS_IN), now) + zeroconf.send(out) + next = now + delay + delay = delay * 2 + + zeroconf.wait(min(next, last) - now) + now = currentTimeMillis() + result = 1 + finally: + zeroconf.removeListener(self) + + return result + + def __eq__(self, other): + '''Tests equality of service name''' + if isinstance(other, ServiceInfo): + return other.name == self.name + return 0 + + def __ne__(self, other): + '''Non-equality test''' + return not self.__eq__(other) + + def __repr__(self): + '''String representation''' + result = 'service[%s,%s:%s,' % (self.name, socket.inet_ntoa(self.getAddress()), self.port) + if self.text is None: + result += 'None' + else: + if len(self.text) < 20: + result += self.text + else: + result += self.text[:17] + '...' + result += ']' + return result + + +class Zeroconf(object): + '''Implementation of Zeroconf Multicast DNS Service Discovery + + Supports registration, unregistration, queries and browsing. + ''' + def __init__(self, bindaddress=None): + '''Creates an instance of the Zeroconf class, establishing + multicast communications, listening and reaping threads.''' + globals()['_GLOBAL_DONE'] = 0 + if bindaddress is None: + self.intf = socket.gethostbyname(socket.gethostname()) + else: + self.intf = bindaddress + self.group = ('', _MDNS_PORT) + self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + try: + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + except: + # SO_REUSEADDR should be equivalent to SO_REUSEPORT for + # multicast UDP sockets (p 731, 'TCP/IP Illustrated, + # Volume 2'), but some BSD-derived systems require + # SO_REUSEPORT to be specified explicity. Also, not all + # versions of Python have SO_REUSEPORT available. So + # if you're on a BSD-based system, and haven't upgraded + # to Python 2.3 yet, you may find this library doesn't + # work as expected. + # + pass + self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, 255) + self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1) + try: + self.socket.bind(self.group) + except: + # Some versions of linux raise an exception even though + # the SO_REUSE* options have been set, so ignore it + # + pass + #self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(self.intf) + socket.inet_aton('0.0.0.0')) + self.socket.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP, socket.inet_aton(_MDNS_ADDR) + socket.inet_aton('0.0.0.0')) + + self.listeners = [] + self.browsers = [] + self.services = {} + self.servicetypes = {} + + self.cache = DNSCache() + + self.condition = threading.Condition() + + self.engine = Engine(self) + self.listener = Listener(self) + self.reaper = Reaper(self) + + def isLoopback(self): + return self.intf.startswith('127.0.0.1') + + def isLinklocal(self): + return self.intf.startswith('169.254.') + + def wait(self, timeout): + '''Calling thread waits for a given number of milliseconds or + until notified.''' + self.condition.acquire() + self.condition.wait(timeout/1000) + self.condition.release() + + def notifyAll(self): + '''Notifies all waiting threads''' + self.condition.acquire() + self.condition.notifyAll() + self.condition.release() + + def getServiceInfo(self, type, name, timeout=3000): + '''Returns network's service information for a particular + name and type, or None if no service matches by the timeout, + which defaults to 3 seconds.''' + info = ServiceInfo(type, name) + if info.request(self, timeout): + return info + return None + + def addServiceListener(self, type, listener): + '''Adds a listener for a particular service type. This object + will then have its updateRecord method called when information + arrives for that type.''' + self.removeServiceListener(listener) + self.browsers.append(ServiceBrowser(self, type, listener)) + + def removeServiceListener(self, listener): + '''Removes a listener from the set that is currently listening.''' + for browser in self.browsers: + if browser.listener == listener: + browser.cancel() + del(browser) + + def registerService(self, info, ttl=_DNS_TTL): + '''Registers service information to the network with a default TTL + of 60 seconds. Zeroconf will then respond to requests for + information for that service. The name of the service may be + changed if needed to make it unique on the network.''' + self.checkService(info) + self.services[info.name.lower()] = info + if self.servicetypes.has_key(info.type): + self.servicetypes[info.type]+=1 + else: + self.servicetypes[info.type]=1 + now = currentTimeMillis() + nextTime = now + i = 0 + while i < 3: + if now < nextTime: + self.wait(nextTime - now) + now = currentTimeMillis() + continue + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + out.addAnswerAtTime(DNSPointer(info.type, _TYPE_PTR, _CLASS_IN, ttl, info.name), 0) + out.addAnswerAtTime(DNSService(info.name, _TYPE_SRV, _CLASS_IN, ttl, info.priority, info.weight, info.port, info.server), 0) + out.addAnswerAtTime(DNSText(info.name, _TYPE_TXT, _CLASS_IN, ttl, info.text), 0) + if info.address: + out.addAnswerAtTime(DNSAddress(info.server, _TYPE_A, _CLASS_IN, ttl, info.address), 0) + self.send(out) + i += 1 + nextTime += _REGISTER_TIME + + def unregisterService(self, info): + '''Unregister a service.''' + try: + del(self.services[info.name.lower()]) + if self.servicetypes[info.type]>1: + self.servicetypes[info.type]-=1 + else: + del self.servicetypes[info.type] + except: + pass + now = currentTimeMillis() + nextTime = now + i = 0 + while i < 3: + if now < nextTime: + self.wait(nextTime - now) + now = currentTimeMillis() + continue + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + out.addAnswerAtTime(DNSPointer(info.type, _TYPE_PTR, _CLASS_IN, 0, info.name), 0) + out.addAnswerAtTime(DNSService(info.name, _TYPE_SRV, _CLASS_IN, 0, info.priority, info.weight, info.port, info.name), 0) + out.addAnswerAtTime(DNSText(info.name, _TYPE_TXT, _CLASS_IN, 0, info.text), 0) + if info.address: + out.addAnswerAtTime(DNSAddress(info.server, _TYPE_A, _CLASS_IN, 0, info.address), 0) + self.send(out) + i += 1 + nextTime += _UNREGISTER_TIME + + def unregisterAllServices(self): + '''Unregister all registered services.''' + if len(self.services) > 0: + now = currentTimeMillis() + nextTime = now + i = 0 + while i < 3: + if now < nextTime: + self.wait(nextTime - now) + now = currentTimeMillis() + continue + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + for info in self.services.values(): + out.addAnswerAtTime(DNSPointer(info.type, _TYPE_PTR, _CLASS_IN, 0, info.name), 0) + out.addAnswerAtTime(DNSService(info.name, _TYPE_SRV, _CLASS_IN, 0, info.priority, info.weight, info.port, info.server), 0) + out.addAnswerAtTime(DNSText(info.name, _TYPE_TXT, _CLASS_IN, 0, info.text), 0) + if info.address: + out.addAnswerAtTime(DNSAddress(info.server, _TYPE_A, _CLASS_IN, 0, info.address), 0) + self.send(out) + i += 1 + nextTime += _UNREGISTER_TIME + + def checkService(self, info): + '''Checks the network for a unique service name, modifying the + ServiceInfo passed in if it is not unique.''' + now = currentTimeMillis() + nextTime = now + i = 0 + while i < 3: + for record in self.cache.entriesWithName(info.type): + if record.type == _TYPE_PTR and not record.isExpired(now) and record.alias == info.name: + if (info.name.find('.') < 0): + info.name = info.name + '.[' + info.address + ':' + info.port + '].' + info.type + self.checkService(info) + return + raise NonUniqueNameException + if now < nextTime: + self.wait(nextTime - now) + now = currentTimeMillis() + continue + out = DNSOutgoing(_FLAGS_QR_QUERY | _FLAGS_AA) + self.debug = out + out.addQuestion(DNSQuestion(info.type, _TYPE_PTR, _CLASS_IN)) + out.addAuthorativeAnswer(DNSPointer(info.type, _TYPE_PTR, _CLASS_IN, _DNS_TTL, info.name)) + self.send(out) + i += 1 + nextTime += _CHECK_TIME + + def addListener(self, listener, question): + '''Adds a listener for a given question. The listener will have + its updateRecord method called when information is available to + answer the question.''' + now = currentTimeMillis() + self.listeners.append(listener) + if question is not None: + for record in self.cache.entriesWithName(question.name): + if question.answeredBy(record) and not record.isExpired(now): + listener.updateRecord(self, now, record) + self.notifyAll() + + def removeListener(self, listener): + '''Removes a listener.''' + try: + self.listeners.remove(listener) + self.notifyAll() + except: + pass + + def updateRecord(self, now, rec): + '''Used to notify listeners of new information that has updated + a record.''' + for listener in self.listeners: + listener.updateRecord(self, now, rec) + self.notifyAll() + + def handleResponse(self, msg): + '''Deal with incoming response packets. All answers + are held in the cache, and listeners are notified.''' + now = currentTimeMillis() + for record in msg.answers: + expired = record.isExpired(now) + if record in self.cache.entries(): + if expired: + self.cache.remove(record) + else: + entry = self.cache.get(record) + if entry is not None: + entry.resetTTL(record) + record = entry + else: + self.cache.add(record) + + self.updateRecord(now, record) + + def handleQuery(self, msg, addr, port): + '''Deal with incoming query packets. Provides a response if + possible.''' + out = None + + # Support unicast client responses + # + if port != _MDNS_PORT: + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA, 0) + for question in msg.questions: + out.addQuestion(question) + + for question in msg.questions: + if question.type == _TYPE_PTR: + if question.name == '_services._dns-sd._udp.local.': + for stype in self.servicetypes.keys(): + if out is None: + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + out.addAnswer(msg, DNSPointer('_services._dns-sd._udp.local.', _TYPE_PTR, _CLASS_IN, _DNS_TTL, stype)) + for service in self.services.values(): + if question.name == service.type: + if out is None: + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + out.addAnswer(msg, DNSPointer(service.type, _TYPE_PTR, _CLASS_IN, _DNS_TTL, service.name)) + else: + try: + if out is None: + out = DNSOutgoing(_FLAGS_QR_RESPONSE | _FLAGS_AA) + + # Answer A record queries for any service addresses we know + if question.type == _TYPE_A or question.type == _TYPE_ANY: + for service in self.services.values(): + if service.server == question.name.lower(): + out.addAnswer(msg, DNSAddress(question.name, _TYPE_A, _CLASS_IN | _CLASS_UNIQUE, _DNS_TTL, service.address)) + + service = self.services.get(question.name.lower(), None) + if not service: continue + + if question.type == _TYPE_SRV or question.type == _TYPE_ANY: + out.addAnswer(msg, DNSService(question.name, _TYPE_SRV, _CLASS_IN | _CLASS_UNIQUE, _DNS_TTL, service.priority, service.weight, service.port, service.server)) + if question.type == _TYPE_TXT or question.type == _TYPE_ANY: + out.addAnswer(msg, DNSText(question.name, _TYPE_TXT, _CLASS_IN | _CLASS_UNIQUE, _DNS_TTL, service.text)) + if question.type == _TYPE_SRV: + out.addAdditionalAnswer(DNSAddress(service.server, _TYPE_A, _CLASS_IN | _CLASS_UNIQUE, _DNS_TTL, service.address)) + except: + traceback.print_exc() + + if out is not None and out.answers: + out.id = msg.id + self.send(out, addr, port) + + def send(self, out, addr = _MDNS_ADDR, port = _MDNS_PORT): + '''Sends an outgoing packet.''' + # This is a quick test to see if we can parse the packets we generate + #temp = DNSIncoming(out.packet()) + try: + bytes_sent = self.socket.sendto(out.packet(), 0, (addr, port)) + except: + # Ignore this, it may be a temporary loss of network connection + pass + + def close(self): + '''Ends the background threads, and prevent this instance from + servicing further queries.''' + if globals()['_GLOBAL_DONE'] == 0: + globals()['_GLOBAL_DONE'] = 1 + self.notifyAll() + self.engine.notify() + self.unregisterAllServices() + self.socket.setsockopt(socket.SOL_IP, socket.IP_DROP_MEMBERSHIP, socket.inet_aton(_MDNS_ADDR) + socket.inet_aton('0.0.0.0')) + self.socket.close() + +# Test a few module features, including service registration, service +# query (for Zoe), and service unregistration. + +if __name__ == '__main__': + print 'Multicast DNS Service Discovery for Python, version', __version__ + r = Zeroconf() + print '1. Testing registration of a service...' + desc = {'version':'0.10','a':'test value', 'b':'another value'} + info = ServiceInfo('_http._tcp.local.', 'My Service Name._http._tcp.local.', socket.inet_aton('127.0.0.1'), 1234, 0, 0, desc) + print ' Registering service...' + r.registerService(info) + print ' Registration done.' + print '2. Testing query of service information...' + print ' Getting ZOE service:', str(r.getServiceInfo('_http._tcp.local.', 'ZOE._http._tcp.local.')) + print ' Query done.' + print '3. Testing query of own service...' + print ' Getting self:', str(r.getServiceInfo('_http._tcp.local.', 'My Service Name._http._tcp.local.')) + print ' Query done.' + print '4. Testing unregister of service information...' + r.unregisterService(info) + print ' Unregister done.' + r.close() diff --git a/src/calibre/utils/help2man.py b/src/calibre/utils/help2man.py new file mode 100644 index 0000000000..9777ea24cd --- /dev/null +++ b/src/calibre/utils/help2man.py @@ -0,0 +1,59 @@ +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +import time, bz2 + +from calibre.constants import __version__, __appname__, __author__ + + +def create_man_page(prog, parser): + usage = parser.usage.splitlines() + for i, line in enumerate(list(usage)): + if not line.strip(): + usage[i] = '.PP' + else: + usage[i] = line.replace('%prog', prog) + lines = [ + '.TH ' + prog.upper() + ' "1" ' + time.strftime('"%B %Y"') + + ' "%s (%s %s)" "%s"'%(prog, __appname__, __version__, __appname__), + '.SH NAME', + prog + r' \- part of '+__appname__, + '.SH SYNOPSIS', + '.B "%s"'%prog + r'\fR '+' '.join(usage[0].split()[1:]), + '.SH DESCRIPTION', + ] + lines += usage[1:] + + lines += [ + '.SH OPTIONS' + ] + def format_option(opt): + ans = ['.TP'] + opts = [] + opts += opt._short_opts + opts.append(opt.get_opt_string()) + opts = [r'\fB'+x.replace('-', r'\-')+r'\fR' for x in opts] + ans.append(', '.join(opts)) + help = opt.help if opt.help else '' + ans.append(help.replace('%prog', prog).replace('%default', str(opt.default))) + return ans + + for opt in parser.option_list: + lines.extend(format_option(opt)) + for group in parser.option_groups: + lines.append('.SS '+group.title) + if group.description: + lines.extend(['.PP', group.description]) + for opt in group.option_list: + lines.extend(format_option(opt)) + + lines += ['.SH SEE ALSO', + 'The User Manual is available at ' + 'http://calibre.kovidgoyal.net/user_manual', + '.PP', '.B Created by '+__author__] + + return bz2.compress('\n'.join(lines)) + + diff --git a/src/calibre/utils/logging.py b/src/calibre/utils/logging.py index ae2e1a792b..d5a55ac48b 100644 --- a/src/calibre/utils/logging.py +++ b/src/calibre/utils/logging.py @@ -13,13 +13,25 @@ ERROR = 3 import sys, traceback from functools import partial -from calibre import prints -from calibre.utils.terminfo import TerminalController -class ANSIStream: + + +class Stream(object): + + def __init__(self, stream): + from calibre import prints + self._prints = prints + self.stream = stream + + def flush(self): + self.stream.flush() + + +class ANSIStream(Stream): def __init__(self, stream=sys.stdout): - self.stream = stream + Stream.__init__(self, stream) + from calibre.utils.terminfo import TerminalController tc = TerminalController(stream) self.color = { DEBUG: tc.GREEN, @@ -32,16 +44,16 @@ class ANSIStream: def prints(self, level, *args, **kwargs): self.stream.write(self.color[level]) kwargs['file'] = self.stream - prints(*args, **kwargs) + self._prints(*args, **kwargs) self.stream.write(self.normal) def flush(self): self.stream.flush() -class HTMLStream: +class HTMLStream(Stream): def __init__(self, stream=sys.stdout): - self.stream = stream + Stream.__init__(self, stream) self.color = { DEBUG: '<span style="color:green">', INFO:'<span>', @@ -53,7 +65,7 @@ class HTMLStream: def prints(self, level, *args, **kwargs): self.stream.write(self.color[level]) kwargs['file'] = self.stream - prints(*args, **kwargs) + self._prints(*args, **kwargs) self.stream.write(self.normal) def flush(self): diff --git a/src/calibre/utils/mdns.py b/src/calibre/utils/mdns.py new file mode 100644 index 0000000000..033b903e11 --- /dev/null +++ b/src/calibre/utils/mdns.py @@ -0,0 +1,60 @@ +from __future__ import with_statement +__license__ = 'GPL 3' +__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' +__docformat__ = 'restructuredtext en' + +import socket + +_server = None + +def get_external_ip(): + 'Get IP address of interface used to connect to the outside world' + try: + ipaddr = socket.gethostbyname(socket.gethostname()) + except: + ipaddr = '127.0.0.1' + if ipaddr == '127.0.0.1': + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect(('google.com', 0)) + ipaddr = s.getsockname()[0] + except: + pass + return ipaddr + +def start_server(): + global _server + if _server is None: + from calibre.utils.Zeroconf import Zeroconf + _server = Zeroconf() + return _server + +def publish(desc, type, port, properties=None, add_hostname=True): + ''' + Publish a service. + + :param desc: Description of service + :param type: Name and type of service. For example _stanza._tcp + :param port: Port the service listens on + :param properties: An optional dictionary whose keys and values will be put + into the TXT record. + ''' + port = int(port) + server = start_server() + hostname = socket.gethostname().partition('.')[0] + if add_hostname: + desc += ' (on %s)'%hostname + local_ip = get_external_ip() + type = type+'.local.' + from calibre.utils.Zeroconf import ServiceInfo + service = ServiceInfo(type, desc+'.'+type, + address=socket.inet_aton(local_ip), + port=port, + properties=properties, + server=hostname+'.local.') + server.registerService(service) + +def stop_server(): + global _server + if _server is not None: + _server.close() diff --git a/src/calibre/utils/rss_gen.py b/src/calibre/utils/rss_gen.py new file mode 100644 index 0000000000..fc1f1cf245 --- /dev/null +++ b/src/calibre/utils/rss_gen.py @@ -0,0 +1,443 @@ +"""PyRSS2Gen - A Python library for generating RSS 2.0 feeds.""" + +__name__ = "PyRSS2Gen" +__version__ = (1, 0, 0) +__author__ = "Andrew Dalke <dalke@dalkescientific.com>" + +_generator_name = __name__ + "-" + ".".join(map(str, __version__)) + +import datetime + +# Could make this the base class; will need to add 'publish' +class WriteXmlMixin: + def write_xml(self, outfile, encoding = "iso-8859-1"): + from xml.sax import saxutils + handler = saxutils.XMLGenerator(outfile, encoding) + handler.startDocument() + self.publish(handler) + handler.endDocument() + + def to_xml(self, encoding = "iso-8859-1"): + try: + import cStringIO as StringIO + except ImportError: + import StringIO + f = StringIO.StringIO() + self.write_xml(f, encoding) + return f.getvalue() + + +def _element(handler, name, obj, d = {}): + if isinstance(obj, basestring) or obj is None: + # special-case handling to make the API easier + # to use for the common case. + handler.startElement(name, d) + if obj is not None: + handler.characters(obj) + handler.endElement(name) + else: + # It better know how to emit the correct XML. + obj.publish(handler) + +def _opt_element(handler, name, obj): + if obj is None: + return + _element(handler, name, obj) + + +def _format_date(dt): + """convert a datetime into an RFC 822 formatted date + + Input date must be in GMT. + """ + # Looks like: + # Sat, 07 Sep 2002 00:00:01 GMT + # Can't use strftime because that's locale dependent + # + # Isn't there a standard way to do this for Python? The + # rfc822 and email.Utils modules assume a timestamp. The + # following is based on the rfc822 module. + return "%s, %02d %s %04d %02d:%02d:%02d GMT" % ( + ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"][dt.weekday()], + dt.day, + ["Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][dt.month-1], + dt.year, dt.hour, dt.minute, dt.second) + + +## +# A couple simple wrapper objects for the fields which +# take a simple value other than a string. +class IntElement: + """implements the 'publish' API for integers + + Takes the tag name and the integer value to publish. + + (Could be used for anything which uses str() to be published + to text for XML.) + """ + element_attrs = {} + def __init__(self, name, val): + self.name = name + self.val = val + def publish(self, handler): + handler.startElement(self.name, self.element_attrs) + handler.characters(str(self.val)) + handler.endElement(self.name) + +class DateElement: + """implements the 'publish' API for a datetime.datetime + + Takes the tag name and the datetime to publish. + + Converts the datetime to RFC 2822 timestamp (4-digit year). + """ + def __init__(self, name, dt): + self.name = name + self.dt = dt + def publish(self, handler): + _element(handler, self.name, _format_date(self.dt)) +#### + +class Category: + """Publish a category element""" + def __init__(self, category, domain = None): + self.category = category + self.domain = domain + def publish(self, handler): + d = {} + if self.domain is not None: + d["domain"] = self.domain + _element(handler, "category", self.category, d) + +class Cloud: + """Publish a cloud""" + def __init__(self, domain, port, path, + registerProcedure, protocol): + self.domain = domain + self.port = port + self.path = path + self.registerProcedure = registerProcedure + self.protocol = protocol + def publish(self, handler): + _element(handler, "cloud", None, { + "domain": self.domain, + "port": str(self.port), + "path": self.path, + "registerProcedure": self.registerProcedure, + "protocol": self.protocol}) + +class Image: + """Publish a channel Image""" + element_attrs = {} + def __init__(self, url, title, link, + width = None, height = None, description = None): + self.url = url + self.title = title + self.link = link + self.width = width + self.height = height + self.description = description + + def publish(self, handler): + handler.startElement("image", self.element_attrs) + + _element(handler, "url", self.url) + _element(handler, "title", self.title) + _element(handler, "link", self.link) + + width = self.width + if isinstance(width, int): + width = IntElement("width", width) + _opt_element(handler, "width", width) + + height = self.height + if isinstance(height, int): + height = IntElement("height", height) + _opt_element(handler, "height", height) + + _opt_element(handler, "description", self.description) + + handler.endElement("image") + +class Guid: + """Publish a guid + + Defaults to being a permalink, which is the assumption if it's + omitted. Hence strings are always permalinks. + """ + def __init__(self, guid, isPermaLink = 1): + self.guid = guid + self.isPermaLink = isPermaLink + def publish(self, handler): + d = {} + if self.isPermaLink: + d["isPermaLink"] = "true" + else: + d["isPermaLink"] = "false" + _element(handler, "guid", self.guid, d) + +class TextInput: + """Publish a textInput + + Apparently this is rarely used. + """ + element_attrs = {} + def __init__(self, title, description, name, link): + self.title = title + self.description = description + self.name = name + self.link = link + + def publish(self, handler): + handler.startElement("textInput", self.element_attrs) + _element(handler, "title", self.title) + _element(handler, "description", self.description) + _element(handler, "name", self.name) + _element(handler, "link", self.link) + handler.endElement("textInput") + + +class Enclosure: + """Publish an enclosure""" + def __init__(self, url, length, type): + self.url = url + self.length = length + self.type = type + def publish(self, handler): + _element(handler, "enclosure", None, + {"url": self.url, + "length": str(self.length), + "type": self.type, + }) + +class Source: + """Publish the item's original source, used by aggregators""" + def __init__(self, name, url): + self.name = name + self.url = url + def publish(self, handler): + _element(handler, "source", self.name, {"url": self.url}) + +class SkipHours: + """Publish the skipHours + + This takes a list of hours, as integers. + """ + element_attrs = {} + def __init__(self, hours): + self.hours = hours + def publish(self, handler): + if self.hours: + handler.startElement("skipHours", self.element_attrs) + for hour in self.hours: + _element(handler, "hour", str(hour)) + handler.endElement("skipHours") + +class SkipDays: + """Publish the skipDays + + This takes a list of days as strings. + """ + element_attrs = {} + def __init__(self, days): + self.days = days + def publish(self, handler): + if self.days: + handler.startElement("skipDays", self.element_attrs) + for day in self.days: + _element(handler, "day", day) + handler.endElement("skipDays") + +class RSS2(WriteXmlMixin): + """The main RSS class. + + Stores the channel attributes, with the "category" elements under + ".categories" and the RSS items under ".items". + """ + + rss_attrs = {"version": "2.0"} + element_attrs = {} + def __init__(self, + title, + link, + description, + + language = None, + copyright = None, + managingEditor = None, + webMaster = None, + pubDate = None, # a datetime, *in* *GMT* + lastBuildDate = None, # a datetime + + categories = None, # list of strings or Category + generator = _generator_name, + docs = "http://blogs.law.harvard.edu/tech/rss", + cloud = None, # a Cloud + ttl = None, # integer number of minutes + + image = None, # an Image + rating = None, # a string; I don't know how it's used + textInput = None, # a TextInput + skipHours = None, # a SkipHours with a list of integers + skipDays = None, # a SkipDays with a list of strings + + items = None, # list of RSSItems + ): + self.title = title + self.link = link + self.description = description + self.language = language + self.copyright = copyright + self.managingEditor = managingEditor + + self.webMaster = webMaster + self.pubDate = pubDate + self.lastBuildDate = lastBuildDate + + if categories is None: + categories = [] + self.categories = categories + self.generator = generator + self.docs = docs + self.cloud = cloud + self.ttl = ttl + self.image = image + self.rating = rating + self.textInput = textInput + self.skipHours = skipHours + self.skipDays = skipDays + + if items is None: + items = [] + self.items = items + + def publish(self, handler): + handler.startElement("rss", self.rss_attrs) + handler.startElement("channel", self.element_attrs) + _element(handler, "title", self.title) + _element(handler, "link", self.link) + _element(handler, "description", self.description) + + self.publish_extensions(handler) + + _opt_element(handler, "language", self.language) + _opt_element(handler, "copyright", self.copyright) + _opt_element(handler, "managingEditor", self.managingEditor) + _opt_element(handler, "webMaster", self.webMaster) + + pubDate = self.pubDate + if isinstance(pubDate, datetime.datetime): + pubDate = DateElement("pubDate", pubDate) + _opt_element(handler, "pubDate", pubDate) + + lastBuildDate = self.lastBuildDate + if isinstance(lastBuildDate, datetime.datetime): + lastBuildDate = DateElement("lastBuildDate", lastBuildDate) + _opt_element(handler, "lastBuildDate", lastBuildDate) + + for category in self.categories: + if isinstance(category, basestring): + category = Category(category) + category.publish(handler) + + _opt_element(handler, "generator", self.generator) + _opt_element(handler, "docs", self.docs) + + if self.cloud is not None: + self.cloud.publish(handler) + + ttl = self.ttl + if isinstance(self.ttl, int): + ttl = IntElement("ttl", ttl) + _opt_element(handler, "tt", ttl) + + if self.image is not None: + self.image.publish(handler) + + _opt_element(handler, "rating", self.rating) + if self.textInput is not None: + self.textInput.publish(handler) + if self.skipHours is not None: + self.skipHours.publish(handler) + if self.skipDays is not None: + self.skipDays.publish(handler) + + for item in self.items: + item.publish(handler) + + handler.endElement("channel") + handler.endElement("rss") + + def publish_extensions(self, handler): + # Derived classes can hook into this to insert + # output after the three required fields. + pass + + + +class RSSItem(WriteXmlMixin): + """Publish an RSS Item""" + element_attrs = {} + def __init__(self, + title = None, # string + link = None, # url as string + description = None, # string + author = None, # email address as string + categories = None, # list of string or Category + comments = None, # url as string + enclosure = None, # an Enclosure + guid = None, # a unique string + pubDate = None, # a datetime + source = None, # a Source + ): + + if title is None and description is None: + raise TypeError( + "must define at least one of 'title' or 'description'") + self.title = title + self.link = link + self.description = description + self.author = author + if categories is None: + categories = [] + self.categories = categories + self.comments = comments + self.enclosure = enclosure + self.guid = guid + self.pubDate = pubDate + self.source = source + # It sure does get tedious typing these names three times... + + def publish(self, handler): + handler.startElement("item", self.element_attrs) + _opt_element(handler, "title", self.title) + _opt_element(handler, "link", self.link) + self.publish_extensions(handler) + _opt_element(handler, "description", self.description) + _opt_element(handler, "author", self.author) + + for category in self.categories: + if isinstance(category, basestring): + category = Category(category) + category.publish(handler) + + _opt_element(handler, "comments", self.comments) + if self.enclosure is not None: + self.enclosure.publish(handler) + _opt_element(handler, "guid", self.guid) + + pubDate = self.pubDate + if isinstance(pubDate, datetime.datetime): + pubDate = DateElement("pubDate", pubDate) + _opt_element(handler, "pubDate", pubDate) + + if self.source is not None: + self.source.publish(handler) + + handler.endElement("item") + + def publish_extensions(self, handler): + # Derived classes can hook into this to insert + # output after the title and link elements + pass diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py index 3f0ec414a2..4a0f6b47f7 100644 --- a/src/calibre/web/feeds/__init__.py +++ b/src/calibre/web/feeds/__init__.py @@ -98,7 +98,7 @@ class Feed(object): if len(self.articles) >= max_articles_per_feed: break self.parse_article(item) - + def populate_from_preparsed_feed(self, title, articles, oldest_article=7, max_articles_per_feed=100): @@ -156,7 +156,6 @@ class Feed(object): content = None if not link and not content: return - article = Article(id, title, link, description, published, content) delta = datetime.utcnow() - article.utctime if delta.days*24*3600 + delta.seconds <= 24*3600*self.oldest_article: diff --git a/src/calibre/web/feeds/news.py b/src/calibre/web/feeds/news.py index 4773d551c3..bcc3cb050d 100644 --- a/src/calibre/web/feeds/news.py +++ b/src/calibre/web/feeds/news.py @@ -17,7 +17,7 @@ from PyQt4.Qt import QApplication, QFile, Qt, QPalette, QSize, QImage, QPainter, from PyQt4.QtWebKit import QWebPage -from calibre import browser, __appname__, iswindows, LoggingInterface, \ +from calibre import browser, __appname__, iswindows, \ strftime, __version__, preferred_encoding from calibre.ebooks.BeautifulSoup import BeautifulSoup, NavigableString, CData, Tag from calibre.ebooks.metadata.opf2 import OPFCreator @@ -32,7 +32,7 @@ from calibre.ptempfile import PersistentTemporaryFile from calibre.gui2 import images_rc # Needed for default cover -class BasicNewsRecipe(object, LoggingInterface): +class BasicNewsRecipe(object): ''' Abstract base class that contains logic needed in all feed fetchers. ''' @@ -444,7 +444,6 @@ class BasicNewsRecipe(object, LoggingInterface): :param parser: Command line option parser. Used to intelligently merge options. :param progress_reporter: A Callable that takes two arguments: progress (a number between 0 and 1) and a string message. The message should be optional. ''' - LoggingInterface.__init__(self, logging.getLogger('feeds2disk')) if not isinstance(self.title, unicode): self.title = unicode(self.title, 'utf-8', 'replace') @@ -1012,7 +1011,8 @@ class BasicNewsRecipe(object, LoggingInterface): feed.description = unicode(err) parsed_feeds.append(feed) self.log_exception(msg) - + + return parsed_feeds @classmethod diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index a513f34728..d1113480ed 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -5,8 +5,8 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>' Builtin recipes. ''' recipe_modules = ['recipe_' + r for r in ( - 'newsweek', 'atlantic', 'economist', 'portfolio', - 'nytimes', 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj', + 'newsweek', 'atlantic', 'economist', 'portfolio', 'the_register', + 'usatoday', 'outlook_india', 'bbc', 'greader', 'wsj', 'wired', 'globe_and_mail', 'smh', 'espn', 'business_week', 'miami_herald', 'ars_technica', 'upi', 'new_yorker', 'irish_times', 'iht', 'lanacion', 'discover_magazine', 'scientific_american', 'new_york_review_of_books', @@ -33,7 +33,8 @@ recipe_modules = ['recipe_' + r for r in ( 'la_republica', 'physics_today', 'chicago_tribune', 'e_novine', 'al_jazeera', 'winsupersite', 'borba', 'courrierinternational', 'lamujerdemivida', 'soldiers', 'theonion', 'news_times', - 'el_universal', 'mediapart', + 'el_universal', 'mediapart', 'wikinews_en', 'ecogeek', 'daily_mail', + 'new_york_review_of_books_no_sub', 'politico', )] import re, imp, inspect, time, os @@ -86,11 +87,15 @@ def compile_recipe(src): match = re.search(r'coding[:=]\s*([-\w.]+)', src[:200]) enc = match.group(1) if match else 'utf-8' src = src.decode(enc) + src = re.sub(r'from __future__.*', '', src) f = open(temp, 'wb') src = 'from %s.web.feeds.news import BasicNewsRecipe, AutomaticNewsRecipe\n'%__appname__ + src src = 'from %s.ebooks.lrf.web.profiles import DefaultProfile, FullContentProfile\n'%__appname__ + src src = '# coding: utf-8\n' + src - f.write(src.replace('from libprs500', 'from calibre').encode('utf-8')) + src = 'from __future__ import with_statement\n' + src + + src = src.replace('from libprs500', 'from calibre').encode('utf-8') + f.write(src) f.close() module = imp.find_module(temp.namebase, [temp.dirname()]) module = imp.load_module(temp.namebase, *module) diff --git a/src/calibre/web/feeds/recipes/recipe_daily_mail.py b/src/calibre/web/feeds/recipes/recipe_daily_mail.py new file mode 100644 index 0000000000..c64e328bf2 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_daily_mail.py @@ -0,0 +1,33 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class TheDailyMail(BasicNewsRecipe): + title = u'The Daily Mail' + oldest_article = 2 + language = _('English') + author = 'RufusA' + simultaneous_downloads= 1 + max_articles_per_feed = 50 + + extra_css = 'h1 {text-align: left;}' + + remove_tags = [ dict(name='ul', attrs={'class':'article-icons-links'}) ] + remove_tags_after = dict(name='h3', attrs={'class':'social-links-title'}) + remove_tags_before = dict(name='div', attrs={'id':'content'}) + no_stylesheets = True + + feeds = [ + (u'Home', u'http://www.dailymail.co.uk/home/index.rss'), + (u'News', u'http://www.dailymail.co.uk/news/index.rss'), + (u'Sport', u'http://www.dailymail.co.uk/sport/index.rss'), + (u'TV and Showbiz', u'http://www.dailymail.co.uk/tvshowbiz/index.rss'), + (u'Femail', u'http://www.dailymail.co.uk/femail/index.rss'), + (u'Health', u'http://www.dailymail.co.uk/health/index.rss'), + (u'Science and Technology', u'http://www.dailymail.co.uk/sciencetech/index.rss'), + (u'Money', u'http://www.dailymail.co.uk/money/index.rss'), + (u'Property', u'http://www.dailymail.co.uk/property/index.rss'), + (u'Motoring', u'http://www.dailymail.co.uk/motoring/index.rss'), + (u'Travel', u'http://www.dailymail.co.uk/travel/index.rss')] + + def print_version(self, url): + main = url.partition('?')[0] + return main + '?printingPage=true' diff --git a/src/calibre/web/feeds/recipes/recipe_ecogeek.py b/src/calibre/web/feeds/recipes/recipe_ecogeek.py new file mode 100644 index 0000000000..7695763295 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_ecogeek.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>' +''' +EcoGeek.org +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class EcoGeek(BasicNewsRecipe): + title = 'EcoGeek' + __author__ = 'Darko Miletic' + description = 'EcoGeek - Technology for the Environment Blog Feed' + publisher = 'EcoGeek' + language = _('English') + category = 'news, ecology, blog' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = True + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + feeds = [(u'Posts', u'http://feeds2.feedburner.com/EcoGeek')] diff --git a/src/calibre/web/feeds/recipes/recipe_iht.py b/src/calibre/web/feeds/recipes/recipe_iht.py index c30be70dea..1bee27d061 100644 --- a/src/calibre/web/feeds/recipes/recipe_iht.py +++ b/src/calibre/web/feeds/recipes/recipe_iht.py @@ -3,6 +3,7 @@ __copyright__ = '2008, Derry FitzGerald' ''' iht.com ''' +import re from calibre.web.feeds.news import BasicNewsRecipe from calibre.ptempfile import PersistentTemporaryFile @@ -16,7 +17,12 @@ class InternationalHeraldTribune(BasicNewsRecipe): max_articles_per_feed = 10 no_stylesheets = True - remove_tags = [dict(name='div', attrs={'class':'footer'})] + remove_tags = [dict(name='div', attrs={'class':'footer'}), + dict(name=['form'])] + preprocess_regexps = [ + (re.compile(r'<!-- webtrends.*', re.DOTALL), + lambda m:'</body></html>') + ] extra_css = '.headline {font-size: x-large;} \n .fact { padding-top: 10pt }' feeds = [ diff --git a/src/calibre/web/feeds/recipes/recipe_new_scientist.py b/src/calibre/web/feeds/recipes/recipe_new_scientist.py index b87883ef6b..acd98a8c6e 100644 --- a/src/calibre/web/feeds/recipes/recipe_new_scientist.py +++ b/src/calibre/web/feeds/recipes/recipe_new_scientist.py @@ -1,48 +1,69 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic <darko.miletic at gmail.com>' -''' -newscientist.com -''' -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic <darko.miletic at gmail.com>, AprilHare' -''' -newscientist.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -class NewScientist(BasicNewsRecipe): - title = u'New Scientist - Online News' - __author__ = 'Darko Miletic' - description = 'News from Science' - language = _('English') - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - - keep_only_tags = [ - dict(name='div' , attrs={'id':'pgtop' }) - ,dict(name='div' , attrs={'id':'maincol' }) - ] - remove_tags = [ - dict(name='div' , attrs={'class':'hldBd' }) - ,dict(name='div' , attrs={'id':'compnl' }) - ,dict(name='div' , attrs={'id':'artIssueInfo' }) - ] - - feeds = [ - (u'Latest Headlines' , u'http://feeds.newscientist.com/science-news' ) - ,(u'Magazine' , u'http://www.newscientist.com/feed/magazine' ) - ,(u'Health' , u'http://www.newscientist.com/feed/view?id=2&type=channel' ) - ,(u'Life' , u'http://www.newscientist.com/feed/view?id=3&type=channel' ) - ,(u'Space' , u'http://www.newscientist.com/feed/view?id=6&type=channel' ) - ,(u'Physics and Mathematics' , u'http://www.newscientist.com/feed/view?id=4&type=channel' ) - ,(u'Environment' , u'http://www.newscientist.com/feed/view?id=1&type=channel' ) - ,(u'Science in Society' , u'http://www.newscientist.com/feed/view?id=5&type=channel' ) - ,(u'Tech' , u'http://www.newscientist.com/feed/view?id=7&type=channel' ) - ] \ No newline at end of file +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2008-2009, AprilHare, Darko Miletic <darko.miletic at gmail.com>' +''' +newscientist.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class NewScientist(BasicNewsRecipe): + title = 'New Scientist - Online News' + __author__ = 'Darko Miletic' + description = 'Science news and science articles from New Scientist.' + language = _('English') + publisher = 'New Scientist' + category = 'science news, science articles, science jobs, drugs, cancer, depression, computer software, sex' + delay = 3 + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + remove_javascript = True + encoding = 'utf-8' + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + keep_only_tags = [dict(name='div', attrs={'id':['pgtop','maincol']})] + + remove_tags = [ + dict(name='div', attrs={'class':['hldBd','adline','pnl','infotext' ]}) + ,dict(name='div', attrs={'id' :['compnl','artIssueInfo','artTools']}) + ,dict(name='p' , attrs={'class':['marker','infotext' ]}) + ] + + feeds = [ + (u'Latest Headlines' , u'http://feeds.newscientist.com/science-news' ) + ,(u'Magazine' , u'http://www.newscientist.com/feed/magazine' ) + ,(u'Health' , u'http://www.newscientist.com/feed/view?id=2&type=channel' ) + ,(u'Life' , u'http://www.newscientist.com/feed/view?id=3&type=channel' ) + ,(u'Space' , u'http://www.newscientist.com/feed/view?id=6&type=channel' ) + ,(u'Physics and Mathematics' , u'http://www.newscientist.com/feed/view?id=4&type=channel' ) + ,(u'Environment' , u'http://www.newscientist.com/feed/view?id=1&type=channel' ) + ,(u'Science in Society' , u'http://www.newscientist.com/feed/view?id=5&type=channel' ) + ,(u'Tech' , u'http://www.newscientist.com/feed/view?id=7&type=channel' ) + ] + + def get_article_url(self, article): + url = article.get('link', None) + raw = article.get('description', None) + rsoup = self.index_to_soup(raw) + atags = rsoup.findAll('a',href=True) + for atag in atags: + if atag['href'].startswith('http://res.feedsportal.com/viral/sendemail2.html?'): + st, sep, rest = atag['href'].partition('&link=') + real_url, sep2, drest = rest.partition('" target=') + return real_url + return url + + def print_version(self, url): + rawurl, sep, params = url.partition('?') + return rawurl + '?full=true&print=true' + \ No newline at end of file diff --git a/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books_no_sub.py b/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books_no_sub.py new file mode 100644 index 0000000000..d4aeba3537 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_new_york_review_of_books_no_sub.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' +__docformat__ = 'restructuredtext en' + +''' +nybooks.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe +from lxml import html +from calibre.constants import preferred_encoding + +class NewYorkReviewOfBooks(BasicNewsRecipe): + + title = u'New York Review of Books (no subscription)' + description = u'Book reviews' + language = _('English') + __author__ = 'Kovid Goyal' + remove_tags_before = {'id':'container'} + remove_tags = [{'class':['noprint', 'ad', 'footer']}, {'id':'right-content'}] + + def parse_index(self): + root = html.fromstring(self.browser.open('http://www.nybooks.com/current-issue').read()) + date = root.xpath('//h4[@class = "date"]')[0] + self.timefmt = ' ['+date.text.encode(preferred_encoding)+']' + articles = [] + for tag in date.itersiblings(): + if tag.tag == 'h4': break + if tag.tag == 'p': + if tag.get('class') == 'indented': + articles[-1]['description'] += html.tostring(tag) + else: + href = tag.xpath('descendant::a[@href]')[0].get('href') + article = { + 'title': u''.join(tag.xpath('descendant::text()')), + 'date' : '', + 'url' : 'http://www.nybooks.com'+href, + 'description': '', + } + articles.append(article) + + return [('Current Issue', articles)] + diff --git a/src/calibre/web/feeds/recipes/recipe_nytimes.py b/src/calibre/web/feeds/recipes/recipe_nytimes.py index 270bd5d499..9276ad667a 100644 --- a/src/calibre/web/feeds/recipes/recipe_nytimes.py +++ b/src/calibre/web/feeds/recipes/recipe_nytimes.py @@ -70,10 +70,14 @@ class NYTimesMobile(BasicNewsRecipe): def find_articles(self, root): for a in root.xpath('//a[@accesskey]'): href = a.get('href') + if href.startswith('http://'): + url = href + else: + url = 'http://mobile.nytimes.com/article' + href[href.find('?'):]+'&single=1', yield { 'title': a.text.strip(), 'date' : '', - 'url' : 'http://mobile.nytimes.com/article' + href[href.find('?'):]+'&single=1', + 'url' : url, 'description': '', } diff --git a/src/calibre/web/feeds/recipes/recipe_nytimes_sub.py b/src/calibre/web/feeds/recipes/recipe_nytimes_sub.py index 4a4286b335..5d91dbae38 100644 --- a/src/calibre/web/feeds/recipes/recipe_nytimes_sub.py +++ b/src/calibre/web/feeds/recipes/recipe_nytimes_sub.py @@ -75,7 +75,9 @@ class NYTimes(BasicNewsRecipe): dict(title=title, url=url, date=pubdate, description=description, content='')) - ans = self.sort_index_by(ans, {'The Front Page':-1, 'Dining In, Dining Out':1, 'Obituaries':2}) + ans = self.sort_index_by(ans, {'The Front Page':-1, + 'Dining In, Dining Out':1, + 'Obituaries':2}) ans = [(key, articles[key]) for key in ans if articles.has_key(key)] return ans diff --git a/src/calibre/web/feeds/recipes/recipe_politico.py b/src/calibre/web/feeds/recipes/recipe_politico.py new file mode 100644 index 0000000000..94980d0cb2 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_politico.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>' +''' +politico.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Politico(BasicNewsRecipe): + title = 'Politico' + __author__ = 'Darko Miletic' + description = 'Political news from USA' + publisher = 'Capitol News Company, LLC' + category = 'news, politics, USA' + oldest_article = 7 + max_articles_per_feed = 100 + use_embedded_content = False + no_stylesheets = True + remove_javascript = True + encoding = 'cp1252' + language = _('English') + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + , '--ignore-tables' + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\nlinearize_tables=True' + + remove_tags = [dict(name=['notags','embed','object','link','img'])] + + feeds = [ + (u'Top Stories' , u'http://www.politico.com/rss/politicopicks.xml' ) + ,(u'Congress' , u'http://www.politico.com/rss/congress.xml' ) + ,(u'Ideas' , u'http://www.politico.com/rss/ideas.xml' ) + ,(u'Life' , u'http://www.politico.com/rss/life.xml' ) + ,(u'Lobbyists' , u'http://www.politico.com/rss/lobbyists.xml' ) + ,(u'Pitboss' , u'http://www.politico.com/rss/pitboss.xml' ) + ,(u'Politics' , u'http://www.politico.com/rss/politics.xml' ) + ,(u'Roger Simon' , u'http://www.politico.com/rss/rogersimon.xml' ) + ,(u'Suite Talk' , u'http://www.politico.com/rss/suitetalk.xml' ) + ,(u'Playbook' , u'http://www.politico.com/rss/playbook.xml' ) + ,(u'The Huddle' , u'http://www.politico.com/rss/huddle.xml' ) + ] + + def preprocess_html(self, soup): + mtag = '<meta http-equiv="Content-Language" content="en-US"/>' + soup.head.insert(0,mtag) + for item in soup.findAll(style=True): + del item['style'] + return soup + + def print_url(self, soup, default): + printtags = soup.findAll('a',href=True) + for printtag in printtags: + if printtag.string == "Print": + return printtag['href'] + return default + + def print_version(self, url): + soup = self.index_to_soup(url) + return self.print_url(soup, None) diff --git a/src/calibre/web/feeds/recipes/recipe_security_watch.py b/src/calibre/web/feeds/recipes/recipe_security_watch.py index 7b111da208..b449b25f37 100644 --- a/src/calibre/web/feeds/recipes/recipe_security_watch.py +++ b/src/calibre/web/feeds/recipes/recipe_security_watch.py @@ -13,6 +13,7 @@ class SecurityWatch(BasicNewsRecipe): filter_regexps = [r'ad\.doubleclick'] filter_regexps = [r'advert'] language = _('English') + extra_css = 'div {text-align:left}' remove_tags = [dict(id='topBannerContainer'), dict(id='topBannerSmall'), @@ -30,3 +31,7 @@ class SecurityWatch(BasicNewsRecipe): feeds = [(u'securitywatch', u'http://feeds.ziffdavisenterprise.com/RSS/security_watch/')] + def postprocess_html(self, soup, first_fetch): + for t in soup.findAll(['table', 'tr', 'td']): + t.name = 'div' + return soup diff --git a/src/calibre/web/feeds/recipes/recipe_the_register.py b/src/calibre/web/feeds/recipes/recipe_the_register.py new file mode 100644 index 0000000000..8b0fa48cff --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_the_register.py @@ -0,0 +1,19 @@ +from calibre.web.feeds.recipes import BasicNewsRecipe + +class TheRegister(BasicNewsRecipe): + title = u'The Register' + __author__ = 'vgrama' + language = _('English') + oldest_article = 1 + max_articles_per_feed = 100 + use_embedded_content = False + + feeds = [(u'Register', u'http://www.theregister.co.uk/headlines.atom')] + + remove_tags = [ + dict(name='div', attrs={'id':'leader'}), + dict(name='div', attrs={'id':'footer'}), + dict(name='div', attrs={'id':'masthead'})] + + def print_version(self, url): + return '%s/print.html' % url diff --git a/src/calibre/web/feeds/recipes/recipe_time_magazine.py b/src/calibre/web/feeds/recipes/recipe_time_magazine.py index bceac5fd69..6d34caead4 100644 --- a/src/calibre/web/feeds/recipes/recipe_time_magazine.py +++ b/src/calibre/web/feeds/recipes/recipe_time_magazine.py @@ -14,6 +14,7 @@ class Time(BasicNewsRecipe): description = 'Weekly magazine' oldest_article = 7 max_articles_per_feed = 100 + encoding = 'utf-8' no_stylesheets = True language = _('English') use_embedded_content = False diff --git a/src/calibre/web/feeds/recipes/recipe_usatoday.py b/src/calibre/web/feeds/recipes/recipe_usatoday.py index dd14cd01b4..b69fce42f3 100644 --- a/src/calibre/web/feeds/recipes/recipe_usatoday.py +++ b/src/calibre/web/feeds/recipes/recipe_usatoday.py @@ -45,3 +45,7 @@ class USAToday(BasicNewsRecipe): def print_version(self, url): return 'http://www.printthis.clickability.com/pt/printThis?clickMap=printThis&fb=Y&url=' + url + def postprocess_html(self, soup, first_fetch): + for t in soup.findAll(['table', 'tr', 'td']): + t.name = 'div' + return soup \ No newline at end of file diff --git a/src/calibre/web/feeds/recipes/recipe_wikinews_en.py b/src/calibre/web/feeds/recipes/recipe_wikinews_en.py new file mode 100644 index 0000000000..932981ca4c --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_wikinews_en.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic <darko.miletic at gmail.com>' +''' +en.wikinews.org +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class WikiNews(BasicNewsRecipe): + title = 'Wikinews' + __author__ = 'Darko Miletic' + description = 'News from wikipedia' + category = 'news, world' + oldest_article = 7 + max_articles_per_feed = 100 + publisher = 'Wiki' + no_stylesheets = True + use_embedded_content = False + encoding = 'utf-8' + remove_javascript = True + language = _('English') + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + keep_only_tags = [ + dict(name='h1', attrs={'id':'firstHeading'}) + ,dict(name='div', attrs={'id':'bodyContent'}) + ] + + remove_tags = [ + dict(name='link') + ,dict(name='div',attrs={'id':['printfooter','catlinks','footer']}) + ,dict(name='div',attrs={'class':['thumb left','thumb right']}) + ] + + remove_tags_after = dict(name='h2') + + feeds = [(u'News', u'http://feeds.feedburner.com/WikinewsLatestNews')] + + def get_article_url(self, article): + artl = article.get('link', None) + rest, sep, article_id = artl.rpartition('/') + return 'http://en.wikinews.org/wiki/' + article_id + + def print_version(self, url): + rest, sep, article_id = url.rpartition('/') + return 'http://en.wikinews.org/w/index.php?title=' + article_id + '&printable=yes' + + def preprocess_html(self, soup): + mtag = '<meta http-equiv="Content-Language" content="en"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8">' + soup.head.insert(0,mtag) + btag = soup.find('div',attrs={'id':'bodyContent'}) + for item in btag.findAll('div'): + item.extract() + for item in btag.findAll('h2'): + item.extract() + for item in soup.findAll(style=True): + del item['style'] + for item in soup.findAll(font=True): + del item['font'] + return soup + diff --git a/src/calibre/web/fetch/simple.py b/src/calibre/web/fetch/simple.py index 4da3f4019c..51a4554a50 100644 --- a/src/calibre/web/fetch/simple.py +++ b/src/calibre/web/fetch/simple.py @@ -15,7 +15,7 @@ from PIL import Image from cStringIO import StringIO from calibre import setup_cli_handlers, browser, sanitize_file_name, \ - relpath, LoggingInterface, unicode_path + relpath, unicode_path from calibre.ebooks.BeautifulSoup import BeautifulSoup, Tag from calibre.ebooks.chardet import xml_to_unicode from calibre.utils.config import OptionParser @@ -80,7 +80,7 @@ class DummyLock(object): def __enter__(self, *args): return self def __exit__(self, *args): pass -class RecursiveFetcher(object, LoggingInterface): +class RecursiveFetcher(object): LINK_FILTER = tuple(re.compile(i, re.IGNORECASE) for i in ('.exe\s*$', '.mp3\s*$', '.ogg\s*$', '^\s*mailto:', '^\s*$')) #ADBLOCK_FILTER = tuple(re.compile(i, re.IGNORECASE) for it in @@ -93,7 +93,6 @@ class RecursiveFetcher(object, LoggingInterface): DUMMY_LOCK = DummyLock() def __init__(self, options, logger, image_map={}, css_map={}, job_info=None): - LoggingInterface.__init__(self, logger) self.base_dir = os.path.abspath(os.path.expanduser(options.dir)) if not os.path.exists(self.base_dir): os.makedirs(self.base_dir) diff --git a/todo-2.6 b/todo similarity index 51% rename from todo-2.6 rename to todo index 33b5a5e428..8a6739db2d 100644 --- a/todo-2.6 +++ b/todo @@ -5,3 +5,6 @@ * Use multiprocessing for cpu_count instead of QThread +* Rationalize books table. Add a pubdate column, remove the uri column (and associated support in add_books) and convert series_index to a float. + +* Replace single application stuff with Listener from multiprocessing diff --git a/upload.py b/upload.py index cab426b191..001e34041a 100644 --- a/upload.py +++ b/upload.py @@ -4,7 +4,8 @@ __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' import shutil, os, glob, re, cStringIO, sys, tempfile, time, textwrap, socket, \ - struct + struct, subprocess +from datetime import datetime from setuptools.command.build_py import build_py as _build_py, convert_path from distutils.core import Command from subprocess import check_call, call, Popen @@ -664,6 +665,7 @@ class stage3(OptionlessCommand): ('upload_installers', None), ('upload_user_manual', None), ('upload_to_pypi', None), + ('upload_rss', None), ] @classmethod @@ -706,3 +708,68 @@ class upload(OptionlessCommand): ('stage2', None), ('stage3', None) ] + +try: + class upload_rss(OptionlessCommand): + + from bzrlib import log as blog + + class ChangelogFormatter(blog.LogFormatter): + supports_tags = True + supports_merge_revisions = False + + def __init__(self, num_of_versions=20): + from calibre.utils.rss_gen import RSS2 + self.num_of_versions = num_of_versions + self.rss = RSS2( + title = 'calibre releases', + link = 'http://calibre.kovidgoyal.net/wiki/Changelog', + description = 'Latest release of calibre', + lastBuildDate = datetime.utcnow() + ) + self.current_entry = None + + def log_revision(self, r): + from calibre.utils.rss_gen import RSSItem, Guid + if len(self.rss.items) > self.num_of_versions-1: + return + msg = r.rev.message + match = re.match(r'version\s+(\d+\.\d+.\d+)', msg) + + if match: + if self.current_entry is not None: + mkup = '<div><ul>%s</ul></div>' + self.current_entry.description = mkup%(''.join( + self.current_entry.description)) + + self.rss.items.append(self.current_entry) + timestamp = r.rev.timezone + r.rev.timestamp + self.current_entry = RSSItem( + title = 'calibre %s released'%match.group(1), + link = 'http://calibre.kovidgoyal.net/download', + guid = Guid(match.group(), False), + pubDate = datetime(*time.gmtime(timestamp)[:6]), + description = [] + ) + elif self.current_entry is not None: + if re.search(r'[a-zA-Z]', msg) and len(msg.strip()) > 5: + if 'translation' not in msg and not msg.startswith('IGN'): + msg = msg.replace('<', '<').replace('>', '>') + msg = re.sub('#(\d+)', r'<a href="http://calibre.kovidgoyal.net/ticket/\1">#\1</a>', + msg) + + self.current_entry.description.append( + '<li>%s</li>'%msg.strip()) + + + def run(self): + from bzrlib import log, branch + bzr_path = os.path.expanduser('~/work/calibre') + b = branch.Branch.open(bzr_path) + lf = upload_rss.ChangelogFormatter() + log.show_log(b, lf) + lf.rss.write_xml(open('/tmp/releases.xml', 'wb')) + subprocess.check_call('scp /tmp/releases.xml divok:/var/www/calibre.kovidgoyal.net/htdocs/downloads'.split()) +except ImportError: + upload_rss = None +