diff --git a/src/calibre/ebooks/pdb/output.py b/src/calibre/ebooks/pdb/output.py index 29de9bd99c..fb6984e1e2 100644 --- a/src/calibre/ebooks/pdb/output.py +++ b/src/calibre/ebooks/pdb/output.py @@ -15,13 +15,13 @@ class PDBOutput(OutputFormatPlugin): name = 'PDB Output' author = 'John Schember' file_type = 'pdb' - + options = set([ OptionRecommendation(name='format', recommended_value='doc', level=OptionRecommendation.LOW, short_switch='f', choices=FORMAT_WRITERS.keys(), - help=_('Format to use inside the pdb container. Choices are: ' - '%s' % FORMAT_WRITERS.keys())), + help=(_('Format to use inside the pdb container. Choices are:')+\ + ' %s' % FORMAT_WRITERS.keys())), ]) def convert(self, oeb_book, output_path, input_plugin, opts, log): @@ -33,19 +33,19 @@ class PDBOutput(OutputFormatPlugin): out_stream = open(output_path, 'wb') else: out_stream = output_path - + Writer = get_writer(opts.format) - + if Writer is None: raise PDBError('No writer avaliable for format %s.' % format) - + writer = Writer(opts, log) - + out_stream.seek(0) out_stream.truncate() - + writer.write_content(oeb_book, out_stream, oeb_book.metadata) if close: out_stream.close() - + diff --git a/src/calibre/ebooks/pdf/manipulate/cli.py b/src/calibre/ebooks/pdf/manipulate/cli.py index 4876cbd8f5..c6e52f85d3 100644 --- a/src/calibre/ebooks/pdf/manipulate/cli.py +++ b/src/calibre/ebooks/pdf/manipulate/cli.py @@ -14,7 +14,6 @@ import string, sys from calibre.utils.config import OptionParser from calibre.utils.logging import Log from calibre.constants import preferred_encoding -from calibre.customize.conversion import OptionRecommendation from calibre.ebooks.pdf.manipulate import crop, decrypt, encrypt, \ info, merge, reverse, rotate, split @@ -30,14 +29,14 @@ COMMANDS = { } USAGE = '%prog ' + _('''command ... - + command can be one of the following: [%%commands] Use %prog command --help to get more information about a specific command Manipulate a PDF. -'''.replace('%%commands', string.join(sorted(COMMANDS.keys()), ', '))) +''').replace('%%commands', string.join(sorted(COMMANDS.keys()), ', ')) def print_help(parser, log): help = parser.format_help().encode(preferred_encoding, 'replace') @@ -54,9 +53,9 @@ def main(args=sys.argv): print 'Error: No command sepecified.\n' print_help(parser, log) return 1 - + command = args[1].lower().strip() - + if command in COMMANDS.keys(): del args[1] return COMMANDS[command].main(args, command) @@ -65,7 +64,7 @@ def main(args=sys.argv): print 'Unknown command %s.\n' % command print_help(parser, log) return 1 - + # We should never get here. return 0 diff --git a/src/calibre/ebooks/pdf/manipulate/crop.py b/src/calibre/ebooks/pdf/manipulate/crop.py index 0f24f04638..c35d4615a4 100644 --- a/src/calibre/ebooks/pdf/manipulate/crop.py +++ b/src/calibre/ebooks/pdf/manipulate/crop.py @@ -10,7 +10,7 @@ __docformat__ = 'restructuredtext en' Crop a pdf file ''' -import os, sys, re +import sys, re from optparse import OptionGroup, Option from calibre.ebooks.metadata.meta import metadata_from_formats @@ -37,16 +37,16 @@ OPTIONS = set([ help=_('Path to output file. By default a file is created in the current directory.')), OptionRecommendation(name='bottom_left_x', recommended_value=DEFAULT_CROP, level=OptionRecommendation.LOW, long_switch='leftx', short_switch='x', - help=_('Number of pixels to crop from the left most x (default is %s) ' % DEFAULT_CROP)), + help=_('Number of pixels to crop from the left most x (default is %s)') % DEFAULT_CROP), OptionRecommendation(name='bottom_left_y', recommended_value=DEFAULT_CROP, level=OptionRecommendation.LOW, long_switch='lefty', short_switch='y', - help=_('Number of pixels to crop from the left most y (default is %s) ' % DEFAULT_CROP)), + help=_('Number of pixels to crop from the left most y (default is %s)') % DEFAULT_CROP), OptionRecommendation(name='top_right_x', recommended_value=DEFAULT_CROP, level=OptionRecommendation.LOW, long_switch='rightx', short_switch='v', - help=_('Number of pixels to crop from the right most x (default is %s) ' % DEFAULT_CROP)), + help=_('Number of pixels to crop from the right most x (default is %s)') % DEFAULT_CROP), OptionRecommendation(name='top_right_y', recommended_value=DEFAULT_CROP, level=OptionRecommendation.LOW, long_switch='right y', short_switch='w', - help=_('Number of pixels to crop from the right most y (default is %s)' % DEFAULT_CROP)), + help=_('Number of pixels to crop from the right most y (default is %s)') % DEFAULT_CROP), OptionRecommendation(name='bounding', recommended_value=None, level=OptionRecommendation.LOW, long_switch='bounding', short_switch='b', help=_('A file generated by ghostscript which allows each page to be individually cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`')), @@ -72,7 +72,7 @@ def add_options(parser): group = OptionGroup(parser, _('Crop Options:'), _('Options to control the transformation of pdf')) parser.add_option_group(group) add_option = group.add_option - + for rec in OPTIONS: option_recommendation_to_cli_option(add_option, rec) @@ -85,7 +85,7 @@ def crop_pdf(pdf_path, opts, metadata=None): author = authors_to_string(metadata.authors) input_pdf = PdfFileReader(open(pdf_path, 'rb')) - + bounding_lines = [] if opts.bounding != None: try: @@ -93,14 +93,14 @@ def crop_pdf(pdf_path, opts, metadata=None): bounding_regex = re.compile('%%BoundingBox: (?P\d+) (?P\d+) (?P\d+) (?P\d+)') except: raise Exception('Error reading %s' % opts.bounding) - + lines = bounding.readlines() for line in lines: if line.startswith('%%BoundingBox:'): bounding_lines.append(line) if len(bounding_lines) != input_pdf.numPages: - raise Exception('Error bounding file %s page count does not correspond to specified pdf' % opts.bounding) - + raise Exception('Error bounding file %s page count does not correspond to specified pdf' % opts.bounding) + output_pdf = PdfFileWriter(title=title,author=author) blines = iter(bounding_lines) for page in input_pdf.pages: @@ -114,33 +114,33 @@ def crop_pdf(pdf_path, opts, metadata=None): page.mediaBox.upperRight = (page.bleedBox.getUpperRight_x() - opts.top_right_x, page.bleedBox.getUpperRight_y() - opts.top_right_y) page.mediaBox.lowerLeft = (page.bleedBox.getLowerLeft_x() + opts.bottom_left_x, page.bleedBox.getLowerLeft_y() + opts.bottom_left_y) output_pdf.addPage(page) - + with open(opts.output, 'wb') as output_file: output_pdf.write(output_file) - + def main(args=sys.argv, name=''): log = Log() parser = option_parser(name) add_options(parser) - + opts, args = parser.parse_args(args) args = args[1:] - + if len(args) < 1: print 'Error: A PDF file is required.\n' print_help(parser, log) return 1 - + if not is_valid_pdf(args[0]): print 'Error: Could not read file `%s`.' % args[0] return 1 - + if is_encrypted(args[0]): print 'Error: file `%s` is encrypted.' % args[0] return 1 - + mi = metadata_from_formats([args[0]]) - + crop_pdf(args[0], opts, mi) return 0 diff --git a/src/calibre/ebooks/pdf/output.py b/src/calibre/ebooks/pdf/output.py index bed5342bb4..a20f503c57 100644 --- a/src/calibre/ebooks/pdf/output.py +++ b/src/calibre/ebooks/pdf/output.py @@ -32,12 +32,12 @@ class PDFOutput(OutputFormatPlugin): level=OptionRecommendation.LOW, short_switch='u', choices=UNITS.keys(), help=_('The unit of measure. Default is inch. Choices ' 'are %s ' - 'Note: This does not override the unit for margins!' % UNITS.keys())), + 'Note: This does not override the unit for margins!') % UNITS.keys()), OptionRecommendation(name='paper_size', recommended_value='letter', level=OptionRecommendation.LOW, choices=PAPER_SIZES.keys(), help=_('The size of the paper. This size will be overridden when an ' 'output profile is used. Default is letter. Choices ' - 'are %s' % PAPER_SIZES.keys())), + 'are %s') % PAPER_SIZES.keys()), OptionRecommendation(name='custom_size', recommended_value=None, help=_('Custom size of the document. Use the form widthxheight ' 'EG. `123x321` to specify the width and height. ' @@ -45,7 +45,7 @@ class PDFOutput(OutputFormatPlugin): OptionRecommendation(name='orientation', recommended_value='portrait', level=OptionRecommendation.LOW, choices=ORIENTATIONS.keys(), help=_('The orientation of the page. Default is portrait. Choices ' - 'are %s' % ORIENTATIONS.keys())), + 'are %s') % ORIENTATIONS.keys()), ]) def convert(self, oeb_book, output_path, input_plugin, opts, log): diff --git a/src/calibre/ebooks/txt/output.py b/src/calibre/ebooks/txt/output.py index 6afc5452b2..64835c3c52 100644 --- a/src/calibre/ebooks/txt/output.py +++ b/src/calibre/ebooks/txt/output.py @@ -23,7 +23,7 @@ class TXTOutput(OutputFormatPlugin): help=_('Type of newline to use. Options are %s. Default is \'system\'. ' 'Use \'old_mac\' for compatibility with Mac OS 9 and earlier. ' 'For Mac OS X use \'unix\'. \'system\' will default to the newline ' - 'type used by this OS.' % sorted(TxtNewlines.NEWLINE_TYPES.keys()))), + 'type used by this OS.') % sorted(TxtNewlines.NEWLINE_TYPES.keys())), ]) def convert(self, oeb_book, output_path, input_plugin, opts, log): @@ -38,11 +38,11 @@ class TXTOutput(OutputFormatPlugin): out_stream = open(output_path, 'wb') else: out_stream = output_path - + out_stream.seek(0) out_stream.truncate() out_stream.write(txt.encode('utf-8')) - + if close: out_stream.close() - + diff --git a/src/calibre/gui2/tools.py b/src/calibre/gui2/tools.py index 711c10943b..5610dd0ecf 100644 --- a/src/calibre/gui2/tools.py +++ b/src/calibre/gui2/tools.py @@ -68,7 +68,8 @@ def convert_single_ebook(parent, db, book_ids, auto_conversion=False, out_format msg = '%s' % '\n'.join(res) warning_dialog(parent, _('Could not convert some books'), - _('Could not convert %d of %d books, because no suitable source format was found.' % (len(res), total)), + _('Could not convert %d of %d books, because no suitable source' + ' format was found.') % (len(res), total), msg).exec_() return jobs, changed, bad @@ -122,7 +123,8 @@ def convert_bulk_ebook(parent, db, book_ids, out_format=None): msg = '%s' % '\n'.join(res) warning_dialog(parent, _('Could not convert some books'), - _('Could not convert %d of %d books, because no suitable source format was found.' % (len(res), total)), + _('Could not convert %d of %d books, because no suitable ' + 'source format was found.') % (len(res), total), msg).exec_() return jobs, changed, bad diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index a9520203c7..26ebc84299 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.5.14\n" -"POT-Creation-Date: 2009-05-29 09:39+PDT\n" -"PO-Revision-Date: 2009-05-29 09:39+PDT\n" +"POT-Creation-Date: 2009-05-31 09:36+PDT\n" +"PO-Revision-Date: 2009-05-31 09:36+PDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -20,91 +20,111 @@ msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:44 -#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:98 -#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:50 +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:69 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:116 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:58 #: /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:529 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1055 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1071 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1073 -#: /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: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 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:100 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:102 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:83 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:179 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:199 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:229 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:232 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:271 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:301 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:53 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:55 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:97 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:152 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:334 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:449 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:863 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:38 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:163 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:164 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:145 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:404 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:253 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:341 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:23 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:45 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:105 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:333 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf.py:448 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:866 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:58 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/topaz.py:29 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:37 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:61 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:140 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:662 -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:576 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:581 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1157 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1160 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:53 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:54 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:193 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:619 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:622 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:43 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:69 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:520 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:704 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:44 +#: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:791 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:796 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:162 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:165 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:96 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:97 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:75 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:76 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:61 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:66 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:64 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:63 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:93 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:19 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:514 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:523 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:738 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:741 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 -#: /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/fetch_metadata.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:134 -#: /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 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:34 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:377 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:905 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:61 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:932 #: /home/kovid/work/calibre/src/calibre/library/cli.py:264 #: /home/kovid/work/calibre/src/calibre/library/database.py:916 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:500 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:897 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:932 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1239 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1241 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1421 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1444 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1495 -#: /home/kovid/work/calibre/src/calibre/library/server.py:340 -#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:28 -#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:31 -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:50 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:548 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:956 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:991 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1318 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1404 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1488 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1511 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1562 +#: /home/kovid/work/calibre/src/calibre/library/server.py:341 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:74 +#: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:90 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:51 msgid "Unknown" msgstr "" @@ -124,72 +144,148 @@ msgstr "" msgid "Metadata writer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:12 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:13 msgid "Follow all local links in an HTML file and create a ZIP file containing all linked files. This plugin is run every time you add an HTML file to the library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:32 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:43 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:64 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:74 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:84 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:105 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:116 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:126 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:136 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:147 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:157 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:167 -msgid "Read metadata from %s files" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:177 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:48 msgid "Extract cover from comic files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:197 -msgid "Read metadata from ebooks in ZIP archives" +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:79 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:89 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:99 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:110 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:130 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:140 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:150 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:160 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:171 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:182 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:202 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:213 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:223 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:233 +msgid "Read metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:207 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:192 msgid "Read metadata from ebooks in RAR archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:218 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:228 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:238 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:248 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:259 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:244 +msgid "Read metadata from ebooks in ZIP archives" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:255 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:265 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:297 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:308 msgid "Set metadata in %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:28 -msgid "Installed plugins" +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:286 +msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:29 -msgid "Mapping for filetype plugins" +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:99 +msgid "Conversion Input" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:118 +msgid "Save the output from the input plugin to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring. WARNING: This completely deletes the contents of the specified directory." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:127 +msgid "Specify the character encoding of the input document. If set this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 +msgid "Conversion Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 +msgid "If specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:44 +msgid "Input profile" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:48 +msgid "This profile tries to provide sane defaults and is useful if you know nothing about the input document." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:56 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:154 +msgid "This profile is intended for the SONY PRS line. The 500/505/700 etc." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:69 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:178 +msgid "This profile is intended for the Microsoft Reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:80 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:189 +msgid "This profile is intended for the Mobipocket books." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:93 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:202 +msgid "This profile is intended for the Hanlin V3 and its clones." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:105 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:214 +msgid "This profile is intended for the Cybook G3." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:117 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:226 +msgid "This profile is intended for the Amazon Kindle." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:135 +msgid "Output profile" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:139 +msgid "This profile tries to provide sane defaults and is useful if you want to produce a document intended to be read at a computer or on a range of devices." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:166 +msgid "This profile is intended for the SONY PRS line. The 500/505/700 etc, in landscape mode. Mainly useful for comics." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:30 -msgid "Local plugin customization" +msgid "Installed plugins" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:31 +msgid "Mapping for filetype plugins" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 +msgid "Local plugin customization" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Disabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:73 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:75 msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:192 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:215 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:333 msgid "" " %prog options\n" "\n" @@ -197,740 +293,572 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:275 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:339 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:277 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:341 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:279 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:343 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:281 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:345 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:283 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:347 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:285 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:349 msgid "Disable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:41 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:394 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:72 -msgid "The reader has no storage card connected." +#: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:11 +msgid "Communicate with the BeBook eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:60 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:91 -msgid "There is insufficient free space on the storage card" +#: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:12 +msgid "Tijmen Ruizendaal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:62 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:93 +#: /home/kovid/work/calibre/src/calibre/devices/bebook/driver.py:49 +msgid "Communicate with the BeBook Mini eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:12 +msgid "Communicate with the Blackberry smart phone." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:13 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:19 +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:88 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/recipe_hindu.py:12 +msgid "Kovid Goyal" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:16 +msgid "Communicate with the Cybook eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:17 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:26 +msgid "John Schember" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:58 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:62 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:152 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:900 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:904 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1222 +msgid "News" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:97 +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:99 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:97 +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:99 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:178 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:180 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:165 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:167 +msgid "Transferring books to device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:105 +#: /home/kovid/work/calibre/src/calibre/devices/cybookg3/driver.py:125 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:43 +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:202 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:186 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:195 +msgid "Removing books from device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:18 +msgid "Communicate with the EB600 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:20 +msgid "Device Interface" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:15 +msgid "Communicate with the JetBook eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:16 +msgid "James Ralston" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:13 +msgid "Communicate with the Kindle eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:70 +msgid "Communicate with the Kindle 2 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:87 +msgid "Communicate with the Sony PRS-500 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/books.py:150 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:83 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:100 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:49 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:55 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:78 +msgid "Getting list of books on device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:19 +msgid "Communicate with the Sony PRS-505 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:20 +#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:14 +msgid "Kovid Goyal and John Schember" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:78 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:41 +msgid "Get device information..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:106 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:108 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:110 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:84 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:86 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:88 +msgid "The reader has no storage card in this slot." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:131 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:109 msgid "There is insufficient free space in main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:140 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:168 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:196 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:204 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:251 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:278 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:133 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:135 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:111 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 +msgid "There is insufficient free space on the storage card" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs505/driver.py:230 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:210 +msgid "Sending metadata to device..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/prs700/driver.py:13 +msgid "Communicate with the Sony PRS-700 eBook reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:227 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:277 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:312 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:94 -msgid "Options to control the conversion to EPUB" +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:11 +msgid "Ordered list of formats the device will accept" msgstr "" -#: /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." +#: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:16 +msgid "settings for device drivers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:108 -msgid "Profile of the target device this EPUB is meant for. Set to None to create a device independent EPUB. The profile is used for device specific restrictions on the EPUB. Choices are: " +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:25 +msgid "Communicate with an eBook reader." msgstr "" -#: /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." +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:173 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:181 +msgid "Adding books to device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:117 -msgid "Control auto-detection of document structure." +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:199 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:204 +msgid "Removing books from device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:122 -msgid "" -"An XPath expression to detect chapter titles. The default is to consider

or\n" -"

tags that contain the words \"chapter\",\"book\",\"section\" or \"part\" as chapter titles as \n" -"well as any tags that have class=\"chapter\". \n" -"The expression used must evaluate to a list of elements. To disable chapter detection,\n" -"use the expression \"/\". See the XPath Tutorial in the calibre User Manual for further\n" -"help on using this feature.\n" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:132 -msgid "Specify how to mark detected chapters. A value of \"pagebreak\" will insert page breaks before chapters. A value of \"rule\" will insert a line before chapters. A value of \"none\" will disable chapter marking and a value of \"both\" will use both page breaks and lines to mark chapters." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:139 -msgid "Path to the cover to be used for this book" -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 "Turn off splitting at page breaks. Normally, input files are automatically split at every page break into two files. This gives an output ebook that can be parsed faster and with less resources. However, splitting is slow and if your source file contains a very large number of page breaks, you should turn off splitting on page breaks." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:161 -msgid "XPath expression to find the name of each page in the pagination map relative to its boundary element. Default is to number all pages staring with 1." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:165 -msgid "" -"Control the automatic generation of a Table of Contents. If an OPF file is detected\n" -"and it specifies a Table of Contents, then that will be used rather than trying\n" -"to auto-generate a Table of Contents.\n" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:171 -msgid "Maximum number of links to insert into the TOC. Set to 0 to disable. Default is: %default. Links are only added to the TOC if less than the --toc-threshold number of chapters were detected." -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 "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:180 -msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level one. If this is specified, it takes precedence over other forms of auto-detection." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:184 -msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level two. Each entry is added under the previous level one entry." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:188 -msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level three. Each entry is added under the previous level two entry." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:192 -msgid "Path to a .ncx file that contains the table of contents to use for this ebook. The NCX file should contain links relative to the directory it is placed in. See http://www.niso.org/workrooms/daisy/Z39-86-2005.html#NCX for an overview of the NCX format." -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 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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:204 -msgid "Set the top margin in pts. Default is %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:206 -msgid "Set the bottom margin in pts. Default is %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:208 -msgid "Set the left margin in pts. Default is %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:210 -msgid "Set the right margin in pts. Default is %default" -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:215 -msgid "Remove spacing between paragraphs. Also sets a indent on paragraphs of 1.5em. You can override this by adding p {text-indent: 0cm} to --override-css. Spacing removal will not work if the source file forces inter-paragraph spacing." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:221 -msgid "Do not force text to be justified in output." -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 "Preserve the HTML tag structure while splitting large HTML files. This is only neccessary if the HTML files contain CSS that uses sibling selectors. Enabling this greatly slows down processing of large HTML files." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:232 -msgid "Print generated OPF file to stdout" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:234 -msgid "Print generated NCX file to stdout" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/__init__.py:237 -msgid "Keep intermediate files during processing by html2epub" -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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_any.py:187 -msgid "" -"%%prog [options] filename\n" -"\n" -"Convert any of a large number of ebook formats to a %s file. Supported formats are: %s\n" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:105 -msgid "Could not find an ebook inside the archive" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:262 -msgid "" -"%prog [options] file.html|opf\n" -"\n" -"Convert a HTML file to an EPUB ebook. Recursively follows links in the HTML file.\n" -"If you specify an OPF file instead of an HTML file, the list of links is takes from\n" -"the element of the OPF file.\n" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:519 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:758 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:621 -msgid "Output written to " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/from_html.py:541 -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:1158 -msgid "You must specify an input HTML file" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/iterator.py:36 -msgid "%s format books are not supported" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/split.py:30 -msgid "Could not find reasonable point at which to split: %s Sub-tree size: %d KB" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/split.py:149 -msgid "\t\tToo much markup. Re-splitting without structure preservation. This may cause incorrect rendering." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:541 -msgid "Written processed HTML to " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:939 -msgid "Options to control the traversal of HTML" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:946 -msgid "The output directory. Default is the current directory." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:948 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:568 -msgid "Character encoding for HTML files. Default is to auto detect." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:950 -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:952 -msgid "Control the following of links in HTML files." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:954 -msgid "Traverse links in HTML files breadth first. Normally, they are traversed depth first" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:956 -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:958 -msgid "Set metadata of the generated ebook" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:960 -msgid "Set the title. Default is to autodetect." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:962 -msgid "The author(s) of the ebook, as a & separated list." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:964 -msgid "The subject(s) of this book, as a comma separated list." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:966 -msgid "Set the publisher of this book." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:968 -msgid "A summary of this book." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:970 -msgid "Load metadata from the specified OPF file" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:972 -msgid "Options useful for debugging" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:974 -msgid "Be more verbose while processing. Can be specified multiple times to increase verbosity." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:976 -msgid "Output HTML is \"pretty printed\" for easier parsing by humans" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/html.py:982 -msgid "" -"%prog [options] file.html|opf\n" -"\n" -"Follow all links in an HTML file and collect them into the specified directory.\n" -"Also collects any resources like images, stylesheets, scripts, etc.\n" -"If an OPF file is specified instead, the list of files in its element\n" -"is used.\n" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 -msgid "Creating LIT file from EPUB..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:892 -msgid "%prog [options] LITFILE" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:895 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:697 -msgid "Output directory. Defaults to current directory." -msgstr "" - -#: /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:901 -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:731 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:580 -msgid "Useful for debugging." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/reader.py:912 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:721 -msgid "OEB ebook created in" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:725 -msgid "%prog [options] OPFFILE" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lit/writer.py:728 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_feeds.py:26 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:577 -msgid "Output file. Default is derived from input filename." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:76 -msgid "Set the title. Default: filename." -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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:81 -msgid "Set the comment." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:83 -msgid "Set the category" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:85 -msgid "Sort key for the title" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:87 -msgid "Sort key for the author" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:89 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:302 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:113 -msgid "Publisher" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:91 -msgid "Path to file containing image to be used as cover" -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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:552 -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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:101 -msgid "Specify the base font size in pts. All fonts are rescaled accordingly. This option obsoletes the --font-delta option and takes precedence over it. To use --font-delta, set this to 0. Default: %defaultpt" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:103 -msgid "Enable autorotation of images that are wider than the screen width." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:106 -msgid "Set the space between words in pts. Default is %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:108 -msgid "Separate paragraphs by blank lines." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:110 -msgid "Add a header to all the pages with title and author." -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:114 -msgid "Add extra spacing below the header. Default is %default px." -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:118 -msgid "Use the element from the OPF file to determine the order in which the HTML files are appended to the LRF. The .opf file must be in the same directory as the base HTML file." -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:122 -msgid "Increase the font size by 2 * FONT_DELTA pts and the line spacing by FONT_DELTA pts. FONT_DELTA can be a fraction.If FONT_DELTA is negative, the font size is decreased." -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:133 -msgid "Profile of the target device for which this LRF is being generated. The profile determines things like the resolution and screen size of the target device. Default: %s Supported profiles: " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:139 -msgid "Left margin of page. Default is %default px." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:141 -msgid "Right margin of page. Default is %default px." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:143 -msgid "Top margin of page. Default is %default px." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:145 -msgid "Bottom margin of page. Default is %default px." -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:149 -msgid "Multiply the size of text in rendered tables by this factor. Default is %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:154 -msgid "The maximum number of levels to recursively process links. A value of 0 means thats links are not followed. A negative value means that tags are ignored." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:158 -msgid "A regular expression. tags whose href matches will be ignored. Defaults to %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:162 -msgid "Don't add links to the table of contents." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:166 -msgid "Prevent the automatic detection chapters." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:169 -msgid "The regular expression used to detect chapter titles. It is searched for in heading tags (h1-h6). Defaults to %default" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:172 -msgid "Detect a chapter beginning at an element having the specified attribute. The format for this option is tagname regexp,attribute name,attribute value regexp. For example to match all heading tags that have the attribute class=\"chapter\" you would use \"h\\d,class,chapter\". You can set the 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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:174 -msgid "If html2lrf does not find any page breaks in the html file and cannot detect chapter headings, it will automatically insert page-breaks before the tags whose names match this regular expression. Defaults to %default. You can disable it by setting the regexp to \"$\". The purpose of this option is to try to ensure that there are no really long pages as this degrades the page turn performance of the LRF. Thus this option is ignored if the current page has only a few elements." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:184 -msgid "Force a page break before tags whose names match this regular expression." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:186 -msgid "Force a page break before an element having the specified attribute. The format for this option is tagname regexp,attribute name,attribute value 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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:189 -msgid "Add detected chapters to the table of contents." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:192 -msgid "Preprocess Baen HTML files to improve generated LRF." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:194 -msgid "You must add this option if processing files generated by pdftohtml, otherwise conversion will fail." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:196 -msgid "Use this option on html0 files from Book Designer." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:199 -msgid "" -"Specify trutype font families for serif, sans-serif and monospace fonts. These fonts will be embedded in the LRF file. Note that custom fonts lead to slower page turns. For example: --serif-family \"Times New Roman\"\n" -" " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:207 -msgid "The serif family of fonts to embed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:210 -msgid "The sans-serif family of fonts to embed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:213 -msgid "The monospace family of fonts to embed" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:217 -msgid "Be verbose while processing" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:219 -msgid "Convert to LRS" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:221 -msgid "Minimize memory usage at the cost of longer processing times. Use this option if you are on a memory constrained machine." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/__init__.py:223 -msgid "Specify the character encoding of the source file. If the output LRF file contains strange characters, try changing this option. A common encoding for files from windows computers is cp-1252. Another common choice is utf-8. The default is to try and guess the encoding." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:164 -msgid "Converting from %s to LRF is not supported." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:175 -msgid "" -"any2lrf [options] myfile\n" -"\n" -"Convert any ebook format into LRF. Supported formats are:\n" -"LIT, RTF, TXT, HTML, EPUB, MOBI, PRC and PDF. any2lrf will also process a RAR or\n" -"ZIP archive, looking for an ebook inside the archive.\n" -" " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:190 -msgid "No file to convert specified." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:226 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:196 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:229 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:199 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:280 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:257 msgid "" -"Failed to process comic: %s\n" +"Failed to process comic: \n" "\n" "%s" msgstr "" -#: /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: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: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: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:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:275 msgid "Number of colors for grayscale image conversion. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:280 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:282 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:308 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:284 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 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289 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:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:292 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:317 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:296 msgid "Enable Despeckle. Reduces speckle noise. May greatly increase processing time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:319 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:299 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: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: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:325 -msgid "Don't show progress bar." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:328 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:303 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/comic/convert_from.py:333 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:439 +msgid "Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:10 msgid "" -"%prog [options] comic.cb[z|r]\n" +"input_file output_file [options]\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:393 -msgid "Output written to" -msgstr "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/epub/convert_from.py:17 -msgid "" -"Usage: %prog [options] mybook.epub\n" -" \n" -" \n" -"%prog converts mybook.epub to mybook.lrf" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23 -msgid "" -"%prog [options] mybook.fb2\n" +"Convert an ebook from one format to another.\n" "\n" +"input_file is the input and output_file is the output. Both must be specified as the first two arguments to the command.\n" "\n" -"%prog converts mybook.fb2 to mybook.lrf" +"The output ebook format is guessed from the file extension of output_file. output_file can also be of the special format .EXT where EXT is the output file extension. In this case, the name of the output file is derived the name of the input file. Note that the filenames must not start with a hyphen. Finally, if output_file has no extension, then it is treated as a directory and an \"open ebook\" (OEB) consisting of HTML files is written to that directory. These files are the files that would normally have been passed to the output plugin.\n" +"\n" +"After specifying the input and output file you can customize the conversion by specifying various options. the available options depend on the input and output file types. To get help on them specify the input and output file and then use the -h option.\n" +"\n" +"For full documentation of the conversion system see\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/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." +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:86 +msgid "INPUT OPTIONS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:30 -msgid "Keep generated HTML files after completing conversion to LRF." +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:87 +msgid "Options to control the processing of the input %s file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 -msgid "Options to control the behavior of feeds2disk" +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:93 +msgid "OUTPUT OPTIONS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:22 -msgid "Options to control the behavior of html2lrf" +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:94 +msgid "Options to control the processing of the output %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:44 -msgid "Fetching of recipe failed: " +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:108 +msgid "Options to control the look and feel of the output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:122 +msgid "Control auto-detection of document structure." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:132 +msgid "Control the automatic generation of a Table of Contents. By default, if the source file has a Table of Contents, it will be used in preference to the automatically generated one." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:142 +msgid "Options to set metadata in the output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:145 +msgid "Options to help with debugging the conversion" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:219 +msgid "Output saved to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:71 +msgid "Level of verbosity. Specify multiple times for greater verbosity." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:78 +msgid "Specify the input profile. The input profile gives the conversion system information on how to interpret various information in the input document. For example resolution dependent lengths (i.e. lengths in pixels). Choices are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:89 +msgid "Specify the output profile. The output profile tells the conversion system how to optimize the created document for the specified device. In some cases, an output profile is required to produce documents that will work on a device. For example EPUB on the SONY reader. Choices are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:100 +msgid "The base font size in pts. All font sizes in the produced book will be rescaled based on this size. By choosing a larger size you can make the fonts in the output bigger and vice versa. By default, the base font size is chosen based on the output profile you chose." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:110 +msgid "Mapping from CSS font names to font sizes in pts. An example setting is 12,12,14,16,18,20,22,24. These are the mappings for the sizes xx-small to xx-large, with the final size being for huge fonts. The font rescaling algorithm uses these sizes to intelligently rescale fonts. The default is to use a mapping based on the output profile you chose." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 +msgid "Disable all rescaling of font sizes." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:129 +msgid "The line height in pts. Controls spacing between consecutive lines of text. By default no line height manipulation is performed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:137 +msgid "Some badly designed documents use tables to control the layout of text on the page. When converted these documents often have text that runs off the page and other artifacts. This option will extract the content from the tables and present it in a linear fashion." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:147 +msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level one. If this is specified, it takes precedence over other forms of auto-detection." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:156 +msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level two. Each entry is added under the previous level one entry." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:164 +msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level three. Each entry is added under the previous level two entry." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:172 +msgid "Normally, if the source file already has a Table of Contents, it is used in preference to the auto-generated one. With this option, the auto-generated one is always used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 +msgid "Don't add auto-detected chapters to the Table of Contents." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:187 +msgid "If fewer than this number of chapters is detected, then links are added to the Table of Contents. Default: %default" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:194 +msgid "Maximum number of links to insert into the TOC. Set to 0 to disable. Default is: %default. Links are only added to the TOC if less than the threshold number of chapters were detected." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:202 +msgid "Remove entries from the Table of Contents whose titles match the specified regular expression. Matching entries and all their children are removed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 +msgid "An XPath expression to detect chapter titles. The default is to consider

or

tags that contain the words \"chapter\",\"book\",\"section\" or \"part\" as chapter titles as well as any tags that have class=\"chapter\". The expression used must evaluate to a list of elements. To disable chapter detection, use the expression \"/\". See the XPath Tutorial in the calibre User Manual for further help on using this feature." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 +msgid "Specify how to mark detected chapters. A value of \"pagebreak\" will insert page breaks before chapters. A value of \"rule\" will insert a line before chapters. A value of \"none\" will disable chapter marking and a value of \"both\" will use both page breaks and lines to mark chapters." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:237 +msgid "Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to the style rules from the source file, so it can be used to override those rules." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 +msgid "An XPath expression. Page breaks are inserted before the specified elements." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:252 +msgid "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:257 +msgid "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:262 +msgid "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:267 +msgid "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:272 +msgid "Do not force text to be justified in output. Whether text is actually displayed justified or not depends on whether the ebook format and reading device support justification." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 +msgid "Remove spacing between paragraphs. Also sets an indent on paragraphs of 1.5em. Spacing removal will not work if the source file does not use paragraphs (

or

tags)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:286 +msgid "Use the cover detected from the source file in preference to the specified cover." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:292 +msgid "Insert a blank line between paragraphs. Will not work if the source file does not use paragraphs (

or

tags)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:299 +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/conversion/plumber.py:307 +msgid "Insert the book metadata at the start of the book. This is useful if your ebook reader does not support displaying/searching metadata directly." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:315 +msgid "Attempt to detect and correct hard line breaks and other problems in the source file. This may make things worse, so use with care." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:325 +msgid "Read metadata from the specified OPF file. Metadata read from this file will override any metadata in the source file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:333 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:35 +msgid "Set the title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:337 +msgid "Set the authors. Multiple authors should be separated by ampersands." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:342 +msgid "The version of the title to be used for sorting. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:346 +msgid "String to be used when sorting by author. " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:350 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:49 +msgid "Set the cover to the specified file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:51 +msgid "Set the ebook description." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:358 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:53 +msgid "Set the ebook publisher." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:362 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:57 +msgid "Set the series this ebook belongs to." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:366 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:59 +msgid "Set the index of the book in this series." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:370 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:61 +msgid "Set the rating. Should be a number between 1 and 5." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:374 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:63 +msgid "Set the ISBN of the book." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:378 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:65 +msgid "Set the tags for the book. Should be a comma separated list." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:382 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:67 +msgid "Set the book producer." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:386 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:69 +msgid "Set the language." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:389 +msgid "List available recipes." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:458 +msgid "Could not find an ebook inside the archive" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:585 +msgid "Converting input to HTML..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:598 +msgid "Running transforms on ebook..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:667 +msgid "Creating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:29 +msgid "Extract the contents of the generated EPUB file to the specified directory. The contents of the directory are first deleted, so be careful." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:35 +msgid "Turn off splitting at page breaks. Normally, input files are automatically split at every page break into two files. This gives an output ebook that can be parsed faster and with less resources. However, splitting is slow and if your source file contains a very large number of page breaks, you should turn off splitting on page breaks." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:46 +msgid "Split all HTML files larger than this size (in KB). This is necessary as most EPUB readers cannot handle large file sizes. The default of %defaultKB is the size required for Adobe Digital Editions." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:241 +msgid "Traverse links in HTML files breadth first. Normally, they are traversed depth first." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:248 +msgid "Maximum levels of recursion when following links in HTML files. Must be non-negative. 0 implies that no links in the root HTML file are followed. Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:257 +msgid "Normally this input plugin re-arranges all the input files into a standard folder hierarchy. Only use this option if you know what you are doing as it can result in various nasty side effects in the rest of of the conversion pipeline." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 +msgid "Creating LIT file from EPUB..." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:321 @@ -988,55 +916,32 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1773 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:1774 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1775 msgid "" "Bad table:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1796 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1797 msgid "Table has cell that is too large" msgstr "" -#: /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:1869 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1863 msgid "Could not read cover image: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1872 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1866 msgid "Cannot read from: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1997 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1990 msgid "Failed to process opf file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:2003 -msgid "" -"Usage: %prog [options] mybook.html\n" -"\n" -"\n" -"%prog converts mybook.html to mybook.lrf. \n" -"%prog follows all links in mybook.html that point \n" -"to local files recursively. Thus, you can use it to \n" -"convert a whole tree of HTML files." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lit/convert_from.py:15 -msgid "" -"Usage: %prog [options] mybook.lit\n" -"\n" -"\n" -"%prog converts mybook.lit to mybook.lrf" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrfparser.py:136 msgid "" "%prog book.lrf\n" @@ -1086,11 +991,11 @@ msgstr "" msgid "Convert LRS to LRS, useful for debugging." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:455 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:458 msgid "Invalid LRF file. Could not set metadata." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:580 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:583 msgid "" "%prog [options] mybook.lrf\n" "\n" @@ -1099,221 +1004,256 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:587 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:590 msgid "Set the book title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:592 msgid "Set sort key for the title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:594 msgid "Set the author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:596 msgid "Set sort key for the author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:46 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:598 msgid "The category this book belongs to. E.g.: History" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:598 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:601 msgid "Path to a graphic that will be set as this files' thumbnail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:601 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:604 msgid "Path to a txt file containing the comment to be stored in the lrf file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:605 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 msgid "Extract thumbnail from LRF file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:606 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:195 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 msgid "Set the publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 msgid "Set the book classification" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 msgid "Set the book creator" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:612 msgid "Set the book producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:614 msgid "Extract cover from LRF file. Note that the LRF format has no defined cover, so we use some heuristics to guess the cover." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:616 msgid "Set book ID" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/mobi/convert_from.py:43 -msgid "" -"Usage: %prog [options] mybook.mobi|prc\n" -"\n" -"\n" -"%prog converts mybook.mobi to mybook.lrf" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:77 +msgid "Enable autorotation of images that are wider than the screen width." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:49 -msgid "Could not find pdftohtml, check it is in your PATH" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:81 +msgid "Set the space between words in pts. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:75 -msgid " is an image based PDF. Only conversion of text based PDFs is supported." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:84 +msgid "Add a header to all the pages with title and author." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/convert_from.py:94 -msgid "" -"%prog [options] mybook.pdf\n" -"\n" -"\n" -"%prog converts mybook.pdf to mybook.lrf" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:87 +msgid "Set the format of the header. %a is replaced by the author and %t by the title. Default is %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:403 -msgid "Path to output directory in which to create the HTML file. Defaults to current directory." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:91 +msgid "Add extra spacing below the header. Default is %default pt." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:405 -msgid "Be more verbose." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:94 +msgid "Minimum paragraph indent (the indent of the first line of a paragraph) in pts. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/pdf/reflow.py:417 -msgid "You must specify a single PDF file." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:99 +msgid "Render tables in the HTML as images (useful if the document has large or complex tables)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/rtf/convert_from.py:21 -msgid "" -"%prog [options] mybook.rtf\n" -"\n" -"\n" -"%prog converts mybook.rtf to mybook.lrf" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 +msgid "Multiply the size of text in rendered tables by this factor. Default is %default" msgstr "" -#: /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." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:108 +msgid "The serif family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:19 -msgid "" -"%prog [options] mybook.txt\n" -"\n" -"\n" -"%prog converts mybook.txt to mybook.lrf" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:111 +msgid "The sans-serif family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:44 -msgid "Set the authors" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:114 +msgid "The monospace family of fonts to embed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:48 -msgid "Set the comment" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:139 +msgid "Comic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:70 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:55 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:108 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:361 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:971 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:998 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:301 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:341 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:109 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:366 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:972 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:999 msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:303 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:122 +msgid "Publisher" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:49 msgid "Producer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/epub_ui.py:489 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/lrf_single_ui.py:517 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:353 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:314 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:58 msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:312 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:114 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:311 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:915 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:975 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:942 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:1002 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:314 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:327 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:354 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:319 #: /home/kovid/work/calibre/src/calibre/gui2/status.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/tags.py:50 msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:355 msgid "Language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:317 -#: /home/kovid/work/calibre/src/calibre/gui2/library.py:914 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:941 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:204 -msgid "A comma separated list of tags to set" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/library.py:120 +msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:206 -msgid "The series to which this book belongs" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:9 +msgid "options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:208 -msgid "The series index" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:10 +msgid "" +"\n" +"Read/Write metadata from/to ebook files.\n" +"\n" +"Supported formats for reading metadata: %s\n" +"\n" +"Supported formats for writing metadata: %s\n" +"\n" +"Different file types support different kinds of metadata. If you try to set\n" +"some metadata on a file type that does not support it, the metadata will be\n" +"silently ignored.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:210 -msgid "The book language" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:37 +msgid "Set the authors. Multiple authors should be separated by the & character. Author names should be in the order Firstname Lastname." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/epub.py:212 -msgid "Extract the cover" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:41 +msgid "The version of the title to be used for sorting. If unspecified, and the title is specified, it will be auto-generated from the title." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:54 -msgid "Usage:" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:45 +msgid "String to be used when sorting by author. If unspecified, and the author(s) are specified, it will be auto-generated from the author(s)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:53 -msgid "Usage: imp-meta file.imp" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:55 +msgid "Set the book category." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/imp.py:54 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:116 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:60 -msgid "No filename specified." +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 +msgid "Get the cover from the ebook and save it at as the specified file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:75 +msgid "Specify the name of an OPF file. The metadata will be written to the OPF file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:78 +msgid "Read metadata from the specified OPF file and use it to set metadata in the ebook. Metadata specified on thecommand line will override metadata read from the OPF file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:83 +msgid "Set the BookID in LRF files" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:141 +msgid "No file specified" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:156 +msgid "Original metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:173 +msgid "Changed metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:185 +msgid "OPF created in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:191 +msgid "Cover saved to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:193 +msgid "No cover found" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:98 @@ -1369,528 +1309,998 @@ 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:43 -msgid "Usage: %s file.lit" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/lit.py:53 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:240 -msgid "Cover saved to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:191 -msgid "Set the subject tags" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:193 -msgid "Set the language" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:197 -msgid "Set the ISBN" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1026 -msgid "Set the dc:language field" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:115 -msgid "Usage: pdf-meta file.pdf" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/rb.py:59 -msgid "Usage: rb-meta file.rb" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/from_any.py:55 -msgid "Creating Mobipocket file from EPUB..." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:695 -msgid "%prog [options] myebook.mobi" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:719 -msgid "Raw MOBI HTML saved in" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:536 -msgid "Options to control the conversion to MOBI" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:543 -msgid "Mobipocket-specific options." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:545 -msgid "Compress file text using PalmDOC compression. Results in smaller files, but takes a long time to run." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:548 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:21 msgid "Modify images to meet Palm device size limitations." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:550 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:25 +msgid "When present, use author sort field as author." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 msgid "Title for any generated in-line table of contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:556 -msgid "When present, use the author sorting information for generating the Mobipocket author metadata." +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:32 +msgid "When present, generate a periodical rather than a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:558 -msgid "Device renderer profiles. Affects conversion of font sizes, image rescaling and rasterization of tables. Valid profiles are: %s." +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:36 +msgid "Disable generation of MOBI index." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:563 -msgid "Source renderer profile. Default is %default." +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40 +msgid "Disable compression of the file contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:566 -msgid "Destination renderer profile. Default is %default." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:574 -msgid "[options]" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:592 -msgid "Unknown source profile %r" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer.py:596 -msgid "Unknown destination profile %r" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/odt/to_oeb.py:57 -msgid "The output directory. Defaults to the current directory." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:829 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1164 msgid "Cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1165 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:831 -#: /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 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1166 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:167 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:832 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1167 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1168 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:834 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1169 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:835 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1170 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:836 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1171 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:837 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1172 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:838 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1173 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1174 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:840 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1175 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:841 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1176 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:842 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1177 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:843 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1178 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:844 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1179 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:845 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1180 msgid "Main Text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:13 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:53 +msgid "Options to control e-book conversion." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:60 +msgid "Character encoding for input. Default is to auto detect." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:62 +msgid "Output file. Default is derived from input filename." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:64 +msgid "Produce more human-readable XML output." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:66 +msgid "Useful for debugging." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/factory.py:71 +msgid "Usage: ebook-convert INFILE OUTFILE [OPTIONS..]" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/iterator.py:38 +msgid "%s format books are not supported" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +msgid "HTML TOC generation options." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:85 +msgid "Book Jacket" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/split.py:34 +msgid "Could not find reasonable point at which to split: %s Sub-tree size: %d KB" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:32 +msgid "OPF/NCX/etc. generation options." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:35 +msgid "OPF version to generate. Default is %default." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/writer.py:37 +msgid "Generate an Adobe \"page-map\" file if pagination information is avaliable." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:112 +msgid "Footnotes" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:121 +msgid "Sidebar" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/output.py:23 +msgid "Format to use inside the pdb container. Choices are:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/cli.py:31 +msgid "" +"command ...\n" +"\n" +"command can be one of the following:\n" +"[%%commands]\n" +"\n" +"Use %prog command --help to get more information about a specific command\n" +"\n" +"Manipulate a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:28 +msgid "" +"[options] file.pdf\n" +"\n" +"Crop a PDF file.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:37 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:32 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:36 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:34 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:33 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:41 +msgid "Path to output file. By default a file is created in the current directory." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:40 +msgid "Number of pixels to crop from the left most x (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:43 +msgid "Number of pixels to crop from the left most y (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:46 +msgid "Number of pixels to crop from the right most x (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:49 +msgid "Number of pixels to crop from the right most y (default is %s)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:52 +msgid "A file generated by ghostscript which allows each page to be individually cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:72 +msgid "Crop Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:72 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:62 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:52 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 msgid "Options to control the transformation of pdf" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:24 -msgid "Number of pixels to crop from the left most x (default is %d) " -msgstr "" - -#: /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 "" - -#: /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 "" - -#: /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 "" - -#: /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 "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftrim.py:38 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:25 msgid "" -"\t%prog [options] file.pdf\n" +"[options] file.pdf password\n" "\n" -"\tCrops a pdf. \n" -"\t" +"Decrypt a PDF.\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:27 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:554 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:62 +msgid "Decrypt Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:23 +msgid "" +"[options] file.pdf password\n" +"\n" +"Encrypt a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:52 +msgid "Encrypt Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:21 +msgid "" +"file.pdf ...\n" +"\n" +"Get info about a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46 +msgid "Author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:47 +msgid "Subject" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:48 +msgid "Creator" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:50 +msgid "Pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:51 +msgid "File Size" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:52 +msgid "PDF Version" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:25 +msgid "" +"[options] file1.pdf file2.pdf ...\n" +"\n" +"Metadata will be used from the first PDF specified.\n" +"\n" +"Merges individual PDFs.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 +msgid "Merge Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:25 +msgid "" +"[options] file.pdf\n" +"\n" +"Reverse a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 +msgid "Reverse Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24 +msgid "" +"file.pdf degrees\n" +"\n" +"Rotate pages of a PDF clockwise.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 +msgid "Rotate Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:25 +msgid "" +"\n" +"%prog %%name [options] file.pdf page_to_split_on ...\n" +"%prog %%name [options] file.pdf page_range_to_split_on ...\n" +"\t\n" +"Ex.\n" +"\t\n" +"%prog %%name file.pdf 6\n" +"%prog %%name file.pdf 6-12\n" +"%prog %%name file.pdf 6-12 8 10 9-20\n" +"\n" +"Split a PDF.\n" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:61 +msgid "Split Options:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:33 +msgid "The unit of measure. Default is inch. Choices are %s Note: This does not override the unit for margins!" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:38 +msgid "The size of the paper. This size will be overridden when an output profile is used. Default is letter. Choices are %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:42 +msgid "Custom size of the document. Use the form widthxheight EG. `123x321` to specify the width and height. This overrides any specified paper-size." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:47 +msgid "The orientation of the page. Default is portrait. Choices are %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:52 +msgid "Could not find pdftohtml, check it is in your PATH" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:75 +msgid " is an image based PDF. Only conversion of text based PDFs is supported." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:75 +msgid "This RTF file has a feature calibre does not support. Convert it to HTML first and then try it." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:23 +msgid "Type of newline to use. Options are %s. Default is 'system'. Use 'old_mac' for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. 'system' will default to the newline type used by this OS." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config_ui.py:474 msgid "Frequently used directories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:30 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:31 -msgid "The format to use when saving single files to disk" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:32 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:34 msgid "Toolbar icon size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:36 msgid "Show button labels in the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:38 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:40 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:42 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:44 msgid "Sort tags list by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:46 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:48 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:50 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:52 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:54 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:55 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:56 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:57 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:59 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:61 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:63 msgid "Show the cover flow in a separate window instead of in the main calibre window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:65 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:87 -msgid "Added %s to library" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:89 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:162 -msgid "Read metadata from " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:224 -msgid "

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