fb22lrf thanks to Anatoly Shipitsin

This commit is contained in:
Kovid Goyal 2008-04-07 16:14:20 +05:30
parent d41a9e891a
commit f87dbae162
15 changed files with 680 additions and 199 deletions

8
.bzrignore Normal file
View File

@ -0,0 +1,8 @@
*_ui.py
src/calibre.egg-info/
src/calibre/resources.py
src/calibre/gui2/images.qrc
src/calibre/gui2/images_rc.py
src/calibre/manual/.build/
src/calibre/manual/cli/

View File

@ -12,6 +12,7 @@ from calibre import __appname__
RESOURCES = dict( RESOURCES = dict(
opf_template = '%p/ebooks/metadata/opf.xml', opf_template = '%p/ebooks/metadata/opf.xml',
ncx_template = '%p/ebooks/metadata/ncx.xml', ncx_template = '%p/ebooks/metadata/ncx.xml',
fb2_xsl = '%p/ebooks/lrf/fb2/fb2.xsl',
) )
def main(args=sys.argv): def main(args=sys.argv):

View File

@ -14,4 +14,4 @@ class UnknownFormatError(Exception):
BOOK_EXTENSIONS = ['lrf', 'lrx', 'rar', 'zip', 'rtf', 'lit', 'txt', 'htm', 'xhtm', BOOK_EXTENSIONS = ['lrf', 'lrx', 'rar', 'zip', 'rtf', 'lit', 'txt', 'htm', 'xhtm',
'html', 'xhtml', 'epub', 'pdf', 'prc', 'mobi', 'azw', 'html', 'xhtml', 'epub', 'pdf', 'prc', 'mobi', 'azw',
'epub'] 'epub', 'fb2']

View File

@ -14,6 +14,7 @@ from calibre.ebooks.lrf.txt.convert_from import process_file as txt2lrf
from calibre.ebooks.lrf.html.convert_from import process_file as html2lrf from calibre.ebooks.lrf.html.convert_from import process_file as html2lrf
from calibre.ebooks.lrf.epub.convert_from import process_file as epub2lrf from calibre.ebooks.lrf.epub.convert_from import process_file as epub2lrf
from calibre.ebooks.lrf.mobi.convert_from import process_file as mobi2lrf from calibre.ebooks.lrf.mobi.convert_from import process_file as mobi2lrf
from calibre.ebooks.lrf.fb2.convert_from import process_file as fb22lrf
def largest_file(files): def largest_file(files):
maxsize, file = 0, None maxsize, file = 0, None
@ -126,6 +127,8 @@ def process_file(path, options, logger=None):
convertor = epub2lrf convertor = epub2lrf
elif ext in ['mobi', 'prc']: elif ext in ['mobi', 'prc']:
convertor = mobi2lrf convertor = mobi2lrf
elif ext == 'fb2':
convertor = fb22lrf
if not convertor: if not convertor:
raise UnknownFormatError('Coverting from %s to LRF is not supported.'%ext) raise UnknownFormatError('Coverting from %s to LRF is not supported.'%ext)
convertor(path, options, logger) convertor(path, options, logger)

View File

View File

@ -0,0 +1,91 @@
__license__ = 'GPL v3'
__copyright__ = '2008, Anatoly Shipitsin <norguhtar at gmail.com>'
"""
Convert .fb2 files to .lrf
"""
import os, sys, tempfile, subprocess, shutil, logging, glob
from calibre.ptempfile import PersistentTemporaryFile
from calibre.ebooks.lrf import option_parser as lrf_option_parser
from calibre.ebooks import ConversionError
from calibre.ebooks.lrf.html.convert_from import process_file as html_process_file
from calibre import setup_cli_handlers, __appname__
from calibre.ebooks.BeautifulSoup import BeautifulStoneSoup
from calibre.resources import fb2_xsl
def option_parser():
parser = lrf_option_parser(
_('''%prog [options] mybook.fb2
%prog converts mybook.fb2 to mybook.lrf'''))
parser.add_option('--debug-html-generation', action='store_true', default=False,
dest='debug_html_generation', help=_('Print generated HTML to stdout and quit.'))
return parser
def generate_html(fb2file, encoding, logger):
from lxml import etree
tdir = tempfile.mkdtemp(prefix=__appname__+'_')
ofile = os.path.join(tdir, 'index.xml')
cwd = os.getcwdu()
os.chdir(tdir)
try:
logger.info('Parsing XML...')
parser = etree.XMLParser(recover=True, no_network=True)
try:
doc = etree.parse(fb2file, parser)
except:
raise
logger.info('Parsing failed. Trying to clean up XML...')
soup = BeautifulStoneSoup(open(fb2file, 'rb').read())
doc = etree.fromstring(str(soup))
logger.info('Converting XML to HTML...')
styledoc = etree.fromstring(fb2_xsl)
transform = etree.XSLT(styledoc)
result = transform(doc)
html = os.path.join(tdir, 'index.html')
f = open(html, 'wb')
f.write(transform.tostring(result))
f.close()
finally:
os.chdir(cwd)
return html
def process_file(path, options, logger=None):
if logger is None:
level = logging.DEBUG if options.verbose else logging.INFO
logger = logging.getLogger('fb22lrf')
setup_cli_handlers(logger, level)
fb2 = os.path.abspath(os.path.expanduser(path))
htmlfile = generate_html(fb2, options.encoding, logger)
tdir = os.path.dirname(htmlfile)
cwd = os.getcwdu()
try:
if not options.output:
ext = '.lrs' if options.lrs else '.lrf'
options.output = os.path.abspath(os.path.basename(os.path.splitext(path)[0]) + ext)
options.output = os.path.abspath(os.path.expanduser(options.output))
os.chdir(tdir)
html_process_file(htmlfile, options, logger)
finally:
os.chdir(cwd)
if hasattr(options, 'keep_intermediate_files') and options.keep_intermediate_files:
logger.debug('Intermediate files in '+ tdir)
else:
shutil.rmtree(tdir)
def main(args=sys.argv, logger=None):
parser = option_parser()
options, args = parser.parse_args(args)
if len(args) != 2:
parser.print_help()
print
print 'No fb2 file specified'
return 1
process_file(args[1], options, logger)
return 0
if __name__ == '__main__':
sys.exit(main())

View File

@ -0,0 +1,328 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fb="http://www.gribuser.ru/xml/fictionbook/2.0">
<!--
#########################################################################
# #
# #
# copyright 2002 Paul Henry Tremblay #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
# General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA #
# 02111-1307 USA #
# #
# #
#########################################################################
-->
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:key name="note-link" match="fb:section" use="@id"/>
<xsl:template match="/*">
<html>
<head>
<xsl:if test="fb:description/fb:title-info/fb:lang = 'ru'">
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"/>
</xsl:if>
<title>
<xsl:value-of select="fb:description/fb:title-info/fb:book-title"/>
</title>
<style type="text/x-oeb1-css">
A { color : #0002CC }
A:HOVER { color : #BF0000 }
BODY { background-color : #FEFEFE; color : #000000; font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; text-align : justify }
H1{ font-size : 160%; font-style : normal; font-weight : bold; text-align : left; border : 1px solid Black; background-color : #E7E7E7; margin-left : 0px; page-break-before : always; }
H2{ font-size : 130%; font-style : normal; font-weight : bold; text-align : left; background-color : #EEEEEE; border : 1px solid Gray; page-break-before : always; }
H3{ font-size : 110%; font-style : normal; font-weight : bold; text-align : left; background-color : #F1F1F1; border : 1px solid Silver;}
H4{ font-size : 100%; font-style : normal; font-weight : bold; text-align : left; border : 1px solid Gray; background-color : #F4F4F4;}
H5{ font-size : 100%; font-style : italic; font-weight : bold; text-align : left; border : 1px solid Gray; background-color : #F4F4F4;}
H6{ font-size : 100%; font-style : italic; font-weight : normal; text-align : left; border : 1px solid Gray; background-color : #F4F4F4;}
SMALL{ font-size : 80% }
BLOCKQUOTE{ margin-left :4em; margin-top:1em; margin-right:0.2em;}
HR{ color : Black }
UL{margin-left: 0}
.epigraph{width:50%; margin-left : 35%;}
</style>
</head>
<body>
<xsl:for-each select="fb:description/fb:title-info/fb:annotation">
<div>
<xsl:call-template name="annotation"/>
</div>
<hr/>
</xsl:for-each>
<!-- BUILD TOC -->
<ul>
<xsl:apply-templates select="fb:body" mode="toc"/>
</ul>
<hr/>
<!-- BUILD BOOK -->
<xsl:for-each select="fb:body">
<xsl:if test="position()!=1">
<hr/>
</xsl:if>
<xsl:if test="@name">
<h4 align="center">
<xsl:value-of select="@name"/>
</h4>
</xsl:if>
<!-- <xsl:apply-templates /> -->
<xsl:apply-templates/>
</xsl:for-each>
</body>
</html>
</xsl:template>
<!-- author template -->
<xsl:template name="author">
<xsl:value-of select="fb:first-name"/>
<xsl:text disable-output-escaping="no">&#032;</xsl:text>
<xsl:value-of select="fb:middle-name"/>&#032;
<xsl:text disable-output-escaping="no">&#032;</xsl:text>
<xsl:value-of select="fb:last-name"/>
<br/>
</xsl:template>
<!-- secuence template -->
<xsl:template name="sequence">
<LI/>
<xsl:value-of select="@name"/>
<xsl:if test="@number">
<xsl:text disable-output-escaping="no">,&#032;#</xsl:text>
<xsl:value-of select="@number"/>
</xsl:if>
<xsl:if test="fb:sequence">
<ul>
<xsl:for-each select="fb:sequence">
<xsl:call-template name="sequence"/>
</xsl:for-each>
</ul>
</xsl:if>
<!-- <br/> -->
</xsl:template>
<!-- toc template -->
<xsl:template match="fb:section|fb:body" mode="toc">
<xsl:choose>
<xsl:when test="name()='body' and position()=1 and not(fb:title)">
<xsl:apply-templates select="fb:section" mode="toc"/>
</xsl:when>
<xsl:otherwise>
<li>
<a href="#TOC_{generate-id()}"><xsl:value-of select="normalize-space(fb:title/fb:p[1] | @name)"/></a>
<xsl:if test="fb:section">
<ul><xsl:apply-templates select="fb:section" mode="toc"/></ul>
</xsl:if>
</li>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- description -->
<xsl:template match="fb:description">
<xsl:apply-templates/>
</xsl:template>
<!-- body -->
<xsl:template match="fb:body">
<div><xsl:apply-templates/></div>
</xsl:template>
<xsl:template match="fb:section">
<a name="TOC_{generate-id()}"></a>
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>
<!-- section/title -->
<xsl:template match="fb:section/fb:title|fb:poem/fb:title">
<xsl:choose>
<xsl:when test="count(ancestor::node()) &lt; 9">
<xsl:element name="{concat('h',count(ancestor::node())-3)}">
<a name="TOC_{generate-id()}"></a>
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="h6">
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- section/title -->
<xsl:template match="fb:body/fb:title">
<h1><xsl:apply-templates mode="title"/></h1>
</xsl:template>
<xsl:template match="fb:title/fb:p">
<xsl:apply-templates/><xsl:text disable-output-escaping="no">&#032;</xsl:text><br/>
</xsl:template>
<!-- subtitle -->
<xsl:template match="fb:subtitle">
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<h5>
<xsl:apply-templates/>
</h5>
</xsl:template>
<!-- p -->
<xsl:template match="fb:p">
<div align="justify"><xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if> &#160;&#160;&#160;<xsl:apply-templates/></div>
</xsl:template>
<!-- strong -->
<xsl:template match="fb:strong">
<b><xsl:apply-templates/></b>
</xsl:template>
<!-- emphasis -->
<xsl:template match="fb:emphasis">
<i> <xsl:apply-templates/></i>
</xsl:template>
<!-- style -->
<xsl:template match="fb:style">
<span class="{@name}"><xsl:apply-templates/></span>
</xsl:template>
<!-- empty-line -->
<xsl:template match="fb:empty-line">
<br/>
</xsl:template>
<!-- link -->
<xsl:template match="fb:a">
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="@xlink:href"/></xsl:attribute>
<xsl:attribute name="title">
<xsl:choose>
<xsl:when test="starts-with(@xlink:href,'#')"><xsl:value-of select="key('note-link',substring-after(@xlink:href,'#'))/fb:p"/></xsl:when>
<xsl:otherwise><xsl:value-of select="key('note-link',@xlink:href)/fb:p"/></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when test="(@type) = 'note'">
<sup>
<xsl:apply-templates/>
</sup>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:template>
<!-- annotation -->
<xsl:template name="annotation">
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<h3>Annotation</h3>
<xsl:apply-templates/>
</xsl:template>
<!-- epigraph -->
<xsl:template match="fb:epigraph">
<blockquote class="epigraph">
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</blockquote>
</xsl:template>
<!-- epigraph/text-author -->
<xsl:template match="fb:epigraph/fb:text-author">
<blockquote>
<i><xsl:apply-templates/></i>
</blockquote>
</xsl:template>
<!-- cite -->
<xsl:template match="fb:cite">
<blockquote>
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</blockquote>
</xsl:template>
<!-- cite/text-author -->
<xsl:template match="fb:text-author">
<blockquote>
<i> <xsl:apply-templates/></i></blockquote>
</xsl:template>
<!-- date -->
<xsl:template match="fb:date">
<xsl:choose>
<xsl:when test="not(@value)">
&#160;&#160;&#160;<xsl:apply-templates/>
<br/>
</xsl:when>
<xsl:otherwise>
&#160;&#160;&#160;<xsl:value-of select="@value"/>
<br/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- poem -->
<xsl:template match="fb:poem">
<blockquote>
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</blockquote>
</xsl:template>
<!-- stanza -->
<xsl:template match="fb:stanza">
<xsl:apply-templates/>
<br/>
</xsl:template>
<!-- v -->
<xsl:template match="fb:v">
<xsl:if test="@id">
<xsl:element name="a">
<xsl:attribute name="name"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:element>
</xsl:if>
<xsl:apply-templates/><br/>
</xsl:template>
<!-- image -->
<xsl:template match="fb:image">
<div align="center">
<img border="1">
<xsl:choose>
<xsl:when test="starts-with(@xlink:href,'#')">
<xsl:attribute name="src"><xsl:value-of select="substring-after(@xlink:href,'#')"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="src"><xsl:value-of select="@xlink:href"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</img>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -36,6 +36,7 @@ entry_points = {
'web2lrf = calibre.ebooks.lrf.web.convert_from:main', 'web2lrf = calibre.ebooks.lrf.web.convert_from:main',
'pdf2lrf = calibre.ebooks.lrf.pdf.convert_from:main', 'pdf2lrf = calibre.ebooks.lrf.pdf.convert_from:main',
'mobi2lrf = calibre.ebooks.lrf.mobi.convert_from:main', 'mobi2lrf = calibre.ebooks.lrf.mobi.convert_from:main',
'fb22lrf = calibre.ebooks.lrf.fb2.convert_from:main',
'any2lrf = calibre.ebooks.lrf.any.convert_from:main', 'any2lrf = calibre.ebooks.lrf.any.convert_from:main',
'lrf2lrs = calibre.ebooks.lrf.parser:main', 'lrf2lrs = calibre.ebooks.lrf.parser:main',
'lrs2lrf = calibre.ebooks.lrf.lrs.convert_from:main', 'lrs2lrf = calibre.ebooks.lrf.lrs.convert_from:main',
@ -172,9 +173,11 @@ def setup_completion(fatal_errors):
f.write(opts_and_exts('epub2lrf', htmlop, ['epub'])) f.write(opts_and_exts('epub2lrf', htmlop, ['epub']))
f.write(opts_and_exts('rtf2lrf', htmlop, ['rtf'])) f.write(opts_and_exts('rtf2lrf', htmlop, ['rtf']))
f.write(opts_and_exts('mobi2lrf', htmlop, ['mobi', 'prc'])) f.write(opts_and_exts('mobi2lrf', htmlop, ['mobi', 'prc']))
f.write(opts_and_exts('fb22lrf', htmlop, ['fb2']))
f.write(opts_and_exts('pdf2lrf', htmlop, ['pdf'])) f.write(opts_and_exts('pdf2lrf', htmlop, ['pdf']))
f.write(opts_and_exts('any2lrf', htmlop, f.write(opts_and_exts('any2lrf', htmlop,
['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip', 'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi'])) ['epub', 'htm', 'html', 'xhtml', 'xhtm', 'rar', 'zip',
'txt', 'lit', 'rtf', 'pdf', 'prc', 'mobi', 'fb2']))
f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf'])) f.write(opts_and_exts('lrf2lrs', lrf2lrsop, ['lrf']))
f.write(opts_and_exts('lrf-meta', metaop, ['lrf'])) f.write(opts_and_exts('lrf-meta', metaop, ['lrf']))
f.write(opts_and_exts('rtf-meta', metaop, ['rtf'])) f.write(opts_and_exts('rtf-meta', metaop, ['rtf']))

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ca\n" "Project-Id-Version: ca\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 2007-11-16 09:07+0100\n" "PO-Revision-Date: 2007-11-16 09:07+0100\n"
"Last-Translator: calibre\n" "Last-Translator: calibre\n"
"Language-Team: \n" "Language-Team: \n"
@ -330,7 +330,7 @@ msgid ""
"default is to try and guess the encoding." "default is to try and guess the encoding."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -341,7 +341,7 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "" msgstr ""
@ -353,6 +353,19 @@ msgid ""
"%prog converts mybook.epub to mybook.lrf" "%prog converts mybook.epub to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "" msgstr ""
@ -377,78 +390,78 @@ msgstr ""
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -605,10 +618,6 @@ msgid ""
"%prog converts mybook.txt to mybook.lrf" "%prog converts mybook.txt to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "" msgstr ""
@ -2131,9 +2140,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271
@ -2511,8 +2519,8 @@ msgstr ""
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
#~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" " #~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" "
#~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</" #~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "1 by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "body></html>" #~ "body></html>"
#~ msgstr "" #~ msgstr ""
#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/" #~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/"
@ -2522,11 +2530,11 @@ msgstr ""
#~ "font-weight:400; font-style:normal;\">\n" #~ "font-weight:400; font-style:normal;\">\n"
#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-" #~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">Per a més ajuda, vegeu " #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">Per a més ajuda, vegeu "
#~ "(en anglès) <a href=\"https://calibre.kovidgoyal.net/wiki/" #~ "(en anglès) <a href=\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage"
#~ "WikiStart#Usage\"><span style=\" text-decoration: underline; color:" #~ "\"><span style=\" text-decoration: underline; color:#0000ff;\">calibre."
#~ "#0000ff;\">calibre.kovidgoyal.net</span></a><br /><br /><span style=\" " #~ "kovidgoyal.net</span></a><br /><br /><span style=\" font-weight:600;"
#~ "font-weight:600;\">calibre</span>: %1 de <span style=\" font-weight:600;" #~ "\">calibre</span>: %1 de <span style=\" font-weight:600;\">Kovid Goyal</"
#~ "\">Kovid Goyal</span> %2<br />%3</p></body></html>" #~ "span> %2<br />%3</p></body></html>"
#~ msgid "Not yet implemented." #~ msgid "Not yet implemented."
#~ msgstr "Sense implementar." #~ msgstr "Sense implementar."

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.4.17\n" "Project-Id-Version: calibre 0.4.17\n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 2008-04-04 17:29+0100\n" "PO-Revision-Date: 2008-04-04 17:29+0100\n"
"Last-Translator: S. Dorscht <stdoonline@googlemail.com>\n" "Last-Translator: S. Dorscht <stdoonline@googlemail.com>\n"
"Language-Team: de\n" "Language-Team: de\n"
@ -341,7 +341,7 @@ msgstr ""
"cp-1252. Eine andere gebräuchliche Alternative ist utf-8. In der " "cp-1252. Eine andere gebräuchliche Alternative ist utf-8. In der "
"Voreinstellung wird versucht, die Kodierung zu erraten. " "Voreinstellung wird versucht, die Kodierung zu erraten. "
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -359,7 +359,7 @@ msgstr ""
"oder\n" "oder\n"
"ZIP Archive, indem es nach einem eBook im Archiv sucht.\n" "ZIP Archive, indem es nach einem eBook im Archiv sucht.\n"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "Keine Datei zur Konvertierung angegeben." msgstr "Keine Datei zur Konvertierung angegeben."
@ -375,6 +375,19 @@ msgstr ""
" \n" " \n"
"%prog konvertiert dateiname.epub in dateiname.lrf" "%prog konvertiert dateiname.epub in dateiname.lrf"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr "Gebe erstellte HTML auf stdout aus und beende das Programm."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "Einstellungen für feeds2disk" msgstr "Einstellungen für feeds2disk"
@ -399,40 +412,40 @@ msgstr "\tAnalysiere HTML..."
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "\tBaen Datei erkannt. Analysiere erneut..." msgstr "\tBaen Datei erkannt. Analysiere erneut..."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "Vorverarbeitetes HTML gespeichert unter" msgstr "Vorverarbeitetes HTML gespeichert unter"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "Verarbeite %s" msgstr "Verarbeite %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "\tKonvertiere in BBeB..." msgstr "\tKonvertiere in BBeB..."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "Konnte Datei nicht analysieren: %s" msgstr "Konnte Datei nicht analysieren: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "Fehlschlag bei der Analysierung von %s %s" msgstr "Fehlschlag bei der Analysierung von %s %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "Konnte Link %s nicht zu TOC hinzufügen" msgstr "Konnte Link %s nicht zu TOC hinzufügen"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "Konnte Bild %s nicht verarbeiten. Fehler: %s" msgstr "Konnte Bild %s nicht verarbeiten. Fehler: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "Konnte verschachteltes PNG %s nicht verarbeiten" msgstr "Konnte verschachteltes PNG %s nicht verarbeiten"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
@ -440,13 +453,13 @@ msgstr ""
"Konnte Bild nicht verarbeiten: %s\n" "Konnte Bild nicht verarbeiten: %s\n"
"%s" "%s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
"Ein Fehler trat während der Bearbeitung einer Tabelle auf: %s. " "Ein Fehler trat während der Bearbeitung einer Tabelle auf: %s. "
"Tabellenformat wird ignoriert." "Tabellenformat wird ignoriert."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
@ -454,11 +467,11 @@ msgstr ""
"Schlechte Tabelle:\n" "Schlechte Tabelle:\n"
"%s" "%s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "Tabelle enthält Zelle, die zu groß ist" msgstr "Tabelle enthält Zelle, die zu groß ist"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
@ -466,19 +479,19 @@ msgstr ""
"Sichern Sie die Website %s zuerst als HTML Datei und benutzen Sie dann " "Sichern Sie die Website %s zuerst als HTML Datei und benutzen Sie dann "
"html2lrf mit der gespeicherten HTML Datei." "html2lrf mit der gespeicherten HTML Datei."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "Konnte Umschlagbild nicht lesen: %s" msgstr "Konnte Umschlagbild nicht lesen: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "Lesen nicht möglich von: %s" msgstr "Lesen nicht möglich von: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "Verarbeitung der OPF Datei schlug fehl" msgstr "Verarbeitung der OPF Datei schlug fehl"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -677,10 +690,6 @@ msgstr ""
"\n" "\n"
"%prog konvertiert dateiname.txt in dateiname.lrf" "%prog konvertiert dateiname.txt in dateiname.lrf"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr "Gebe erstellte HTML auf stdout aus und beende das Programm."
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "Gebe Autoren ein" msgstr "Gebe Autoren ein"
@ -1815,8 +1824,8 @@ msgid ""
"calibre.kovidgoyal.net/user_manual/news.html\">User Recipes</a>" "calibre.kovidgoyal.net/user_manual/news.html\">User Recipes</a>"
msgstr "" msgstr ""
"Wenn Sie Hilfe zur Erstellung Erweiterter Nachrichten Rezepte benötigen, " "Wenn Sie Hilfe zur Erstellung Erweiterter Nachrichten Rezepte benötigen, "
"besuchen Sie die englischsprachige Seite <a href=\"http://calibre." "besuchen Sie die englischsprachige Seite <a href=\"http://calibre.kovidgoyal."
"kovidgoyal.net/user_manual/news.html\">User Recipes</a>" "net/user_manual/news.html\">User Recipes</a>"
#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:242 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:242
msgid "Recipe source code (python)" msgid "Recipe source code (python)"
@ -2293,9 +2302,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css"
"\">\n" "\">\n"
@ -2306,9 +2314,8 @@ msgstr ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">Hilfe gibt es online bei " "right:0px; -qt-block-indent:0; text-indent:0px;\">Hilfe gibt es online bei "
"<a href=\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "<a href=\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271
msgid "Advanced search" msgid "Advanced search"
@ -2885,8 +2892,8 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche."
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
#~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" " #~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" "
#~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</" #~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "1 by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "body></html>" #~ "body></html>"
#~ msgstr "" #~ msgstr ""
#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/" #~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/"
@ -2896,11 +2903,11 @@ msgstr "Zeige detailierte Ausgabeinformation. Hilfreich zur Fehlersuche."
#~ "font-weight:400; font-style:normal;\">\n" #~ "font-weight:400; font-style:normal;\">\n"
#~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-" #~ "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-"
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">Hilfe gibt es bei <a " #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">Hilfe gibt es bei <a "
#~ "href=\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span " #~ "href=\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style="
#~ "style=\" text-decoration: underline; color:#0000ff;\">calibre." #~ "\" text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "kovidgoyal.net</span></a><br /><br /><span style=\" font-weight:600;" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "\">calibre</span>: %1 by <span style=\" font-weight:600;\">Kovid Goyal</" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "span> %2<br />%3</p></body></html>" #~ "body></html>"
#~ msgid "Not yet implemented." #~ msgid "Not yet implemented."
#~ msgstr "Noch nicht eingeführt." #~ msgstr "Noch nicht eingeführt."

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: es\n" "Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 2007-11-16 09:21+0100\n" "PO-Revision-Date: 2007-11-16 09:21+0100\n"
"Last-Translator: calibre\n" "Last-Translator: calibre\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@ -330,7 +330,7 @@ msgid ""
"default is to try and guess the encoding." "default is to try and guess the encoding."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -341,7 +341,7 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "" msgstr ""
@ -353,6 +353,19 @@ msgid ""
"%prog converts mybook.epub to mybook.lrf" "%prog converts mybook.epub to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "" msgstr ""
@ -377,78 +390,78 @@ msgstr ""
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -606,10 +619,6 @@ msgid ""
"%prog converts mybook.txt to mybook.lrf" "%prog converts mybook.txt to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "" msgstr ""
@ -2134,9 +2143,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271
@ -2514,8 +2522,8 @@ msgstr ""
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
#~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" " #~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" "
#~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</" #~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "1 by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "body></html>" #~ "body></html>"
#~ msgstr "" #~ msgstr ""
#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/" #~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/"

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.4.22\n" "Project-Id-Version: calibre 0.4.22\n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 2008-01-20 09:59+0100\n" "PO-Revision-Date: 2008-01-20 09:59+0100\n"
"Last-Translator: FixB <fix.bornes@free.fr>\n" "Last-Translator: FixB <fix.bornes@free.fr>\n"
"Language-Team: fr\n" "Language-Team: fr\n"
@ -329,7 +329,7 @@ msgid ""
"default is to try and guess the encoding." "default is to try and guess the encoding."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -340,7 +340,7 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "" msgstr ""
@ -352,6 +352,19 @@ msgid ""
"%prog converts mybook.epub to mybook.lrf" "%prog converts mybook.epub to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "" msgstr ""
@ -376,78 +389,78 @@ msgstr ""
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -606,10 +619,6 @@ msgid ""
"%prog converts mybook.txt to mybook.lrf" "%prog converts mybook.txt to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "" msgstr ""
@ -2157,9 +2166,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271
@ -2544,8 +2552,8 @@ msgstr ""
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
#~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" " #~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" "
#~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</" #~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "1 by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "body></html>" #~ "body></html>"
#~ msgstr "" #~ msgstr ""
#~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/" #~ "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/"
@ -2557,8 +2565,8 @@ msgstr ""
#~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" #~ "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
#~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" " #~ "\"https://calibre.kovidgoyal.net/wiki/WikiStart#Usage\"><span style=\" "
#~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</" #~ "text-decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</"
#~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %" #~ "span></a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 "
#~ "1 by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></" #~ "by <span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></"
#~ "body></html>" #~ "body></html>"
#~ msgid "Not yet implemented." #~ msgid "Not yet implemented."

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: it\n" "Project-Id-Version: it\n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 16:44, 4/4/2008\n" "PO-Revision-Date: 16:44, 4/4/2008\n"
"Last-Translator: Iacopo Benesperi <iacchi@iacchi.org>\n" "Last-Translator: Iacopo Benesperi <iacchi@iacchi.org>\n"
"Language-Team: italiano\n" "Language-Team: italiano\n"
@ -344,7 +344,7 @@ msgstr ""
"comune per i computer Windows è cp-1252. Un'altra scelta comune è utf-8. " "comune per i computer Windows è cp-1252. Un'altra scelta comune è utf-8. "
"L'opzione predefinita è quella di provare ad indovinare la codifica" "L'opzione predefinita è quella di provare ad indovinare la codifica"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -361,7 +361,7 @@ msgstr ""
"archivio RAR o ZIP, cercando i libri dentro l'archivio.\n" "archivio RAR o ZIP, cercando i libri dentro l'archivio.\n"
" " " "
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "Nessun file da convertire specificato" msgstr "Nessun file da convertire specificato"
@ -377,6 +377,19 @@ msgstr ""
" \n" " \n"
"%prog converte miolibro.epub in miolibro.lrf" "%prog converte miolibro.epub in miolibro.lrf"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr "Invia l'HTML generato allo stdout ed esce"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "Opzioni per controllare il comportamento di feeds2disk" msgstr "Opzioni per controllare il comportamento di feeds2disk"
@ -401,40 +414,40 @@ msgstr "\tAnalisi HTML..."
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "\tFile di Baen individuato. Rianalizzo..." msgstr "\tFile di Baen individuato. Rianalizzo..."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "HTML preprocessato scritto in " msgstr "HTML preprocessato scritto in "
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "Sto processando %s" msgstr "Sto processando %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "\tConversione in BBeB..." msgstr "\tConversione in BBeB..."
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "Impossibile analizzare il file: %s" msgstr "Impossibile analizzare il file: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "Analisi fallita del link %s %s" msgstr "Analisi fallita del link %s %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "Impossibile aggiungere il link %s alla TOC" msgstr "Impossibile aggiungere il link %s alla TOC"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "Impossibile processare l'immagine %s. Errore: %s" msgstr "Impossibile processare l'immagine %s. Errore: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "Impossibile processare la PNG interlacciata %s" msgstr "Impossibile processare la PNG interlacciata %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
@ -442,13 +455,13 @@ msgstr ""
"Impossibile processare l'immagine: %s\n" "Impossibile processare l'immagine: %s\n"
"%s" "%s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
"Si è verificato un errore nel processamento della tabella: %s. Ignoro il " "Si è verificato un errore nel processamento della tabella: %s. Ignoro il "
"codice della tabella" "codice della tabella"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
@ -456,11 +469,11 @@ msgstr ""
"Tabella malformata:\n" "Tabella malformata:\n"
"%s" "%s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "La tabella ha celle troppo larghe" msgstr "La tabella ha celle troppo larghe"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
@ -468,19 +481,19 @@ msgstr ""
"È necessario prima salvare il sito web %s come un file HTML e poi eseguire " "È necessario prima salvare il sito web %s come un file HTML e poi eseguire "
"html2lrf su di esso" "html2lrf su di esso"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "Impossibile leggere l'immagine di copertina: %s" msgstr "Impossibile leggere l'immagine di copertina: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "Impossibile leggere da: %s" msgstr "Impossibile leggere da: %s"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "Processamento del file OPF fallito" msgstr "Processamento del file OPF fallito"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -677,10 +690,6 @@ msgstr ""
"\n" "\n"
"%prog converte miolibro.txt in miolibro.lrf" "%prog converte miolibro.txt in miolibro.lrf"
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr "Invia l'HTML generato allo stdout ed esce"
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "Imposta gli autori" msgstr "Imposta gli autori"
@ -2280,9 +2289,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css"
"\">\n" "\">\n"

View File

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: calibre 0.4.17\n" "Project-Id-Version: calibre 0.4.17\n"
"POT-Creation-Date: 2008-04-04 09:07+PDT\n" "POT-Creation-Date: 2008-04-07 16:11+IST\n"
"PO-Revision-Date: 2007-11-08 14:39+PST\n" "PO-Revision-Date: 2007-11-08 14:39+PST\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: sl\n" "Language-Team: sl\n"
@ -268,7 +268,7 @@ msgid ""
"default is to try and guess the encoding." "default is to try and guess the encoding."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:140 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:143
msgid "" msgid ""
"any2lrf [options] myfile\n" "any2lrf [options] myfile\n"
"\n" "\n"
@ -279,7 +279,7 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:155 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/any/convert_from.py:158
msgid "No file to convert specified." msgid "No file to convert specified."
msgstr "" msgstr ""
@ -291,6 +291,19 @@ msgid ""
"%prog converts mybook.epub to mybook.lrf" "%prog converts mybook.epub to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:18
msgid ""
"%prog [options] mybook.fb2\n"
"\n"
"\n"
"%prog converts mybook.fb2 to mybook.lrf"
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/fb2/convert_from.py:23
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/feeds/convert_from.py:20
msgid "Options to control the behavior of feeds2disk" msgid "Options to control the behavior of feeds2disk"
msgstr "" msgstr ""
@ -315,78 +328,78 @@ msgstr ""
msgid "\tBaen file detected. Re-parsing..." msgid "\tBaen file detected. Re-parsing..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:339 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:341
msgid "Written preprocessed HTML to " msgid "Written preprocessed HTML to "
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:350 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:352
msgid "Processing %s" msgid "Processing %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:366
msgid "\tConverting to BBeB..." msgid "\tConverting to BBeB..."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:504
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:509 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:511
msgid "Could not parse file: %s" msgid "Could not parse file: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:521 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:523
msgid "Failed to parse link %s %s" msgid "Failed to parse link %s %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:564 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:566
msgid "Cannot add link %s to TOC" msgid "Cannot add link %s to TOC"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:906 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:908
msgid "Unable to process image %s. Error: %s" msgid "Unable to process image %s. Error: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:944 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:946
msgid "Unable to process interlaced PNG %s" msgid "Unable to process interlaced PNG %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:959 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:961
msgid "" msgid ""
"Could not process image: %s\n" "Could not process image: %s\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1649 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651
msgid "An error occurred while processing a table: %s. Ignoring table markup." msgid "An error occurred while processing a table: %s. Ignoring table markup."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1651 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1653
msgid "" msgid ""
"Bad table:\n" "Bad table:\n"
"%s" "%s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1673 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1675
msgid "Table has cell that is too large" msgid "Table has cell that is too large"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1701 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1703
msgid "" msgid ""
"You have to save the website %s as an html file first and then run html2lrf " "You have to save the website %s as an html file first and then run html2lrf "
"on it." "on it."
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1741 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1743
msgid "Could not read cover image: %s" msgid "Could not read cover image: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1744 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1746
msgid "Cannot read from: %s" msgid "Cannot read from: %s"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1873 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1875
msgid "Failed to process opf file" msgid "Failed to process opf file"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1879 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1881
msgid "" msgid ""
"Usage: %prog [options] mybook.html\n" "Usage: %prog [options] mybook.html\n"
"\n" "\n"
@ -543,10 +556,6 @@ msgid ""
"%prog converts mybook.txt to mybook.lrf" "%prog converts mybook.txt to mybook.lrf"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/txt/convert_from.py:22
msgid "Print generated HTML to stdout and quit."
msgstr ""
#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:20
msgid "Set the authors" msgid "Set the authors"
msgstr "" msgstr ""
@ -2051,9 +2060,8 @@ msgid ""
"right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href=" "right:0px; -qt-block-indent:0; text-indent:0px;\">For help visit <a href="
"\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-" "\"http://calibre.kovidgoyal.net/user_manual\"><span style=\" text-"
"decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></" "decoration: underline; color:#0000ff;\">calibre.kovidgoyal.net</span></"
"a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by " "a><br /><br /><span style=\" font-weight:600;\">calibre</span>: %1 by <span "
"<span style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></" "style=\" font-weight:600;\">Kovid Goyal</span> %2<br />%3</p></body></html>"
"html>"
msgstr "" msgstr ""
#: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271 #: /home/kovid/work/calibre/src/calibre/gui2/main_ui.py:271