From 1eba9df0a2efe17916ce29145336e55a7ae408ae Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Aug 2010 13:41:40 -0600 Subject: [PATCH] ... --- resources/recipes/nation_ke.recipe | 19 +- resources/recipes/standardmedia_ke.recipe | 19 +- src/calibre/translations/calibre.pot | 696 ++++++++++++---------- 3 files changed, 382 insertions(+), 352 deletions(-) diff --git a/resources/recipes/nation_ke.recipe b/resources/recipes/nation_ke.recipe index 07d012c965..873697b97d 100644 --- a/resources/recipes/nation_ke.recipe +++ b/resources/recipes/nation_ke.recipe @@ -6,10 +6,9 @@ www.standardmedia.co.ke import os from calibre import strftime, __appname__, __version__ -import calibre.utils.PythonMagickWand as pw -from ctypes import byref from calibre.web.feeds.news import BasicNewsRecipe from calibre.constants import preferred_encoding +from calibre.utils.magick import Image class NationKeRecipe(BasicNewsRecipe): @@ -95,19 +94,9 @@ class NationKeRecipe(BasicNewsRecipe): self.cover_img_path = None def prepare_cover_image(self, path_to_image, out_path): - with pw.ImageMagick(): - img = pw.NewMagickWand() - if img < 0: - raise RuntimeError('Out of memory') - if not pw.MagickReadImage(img, path_to_image): - severity = pw.ExceptionType(0) - msg = pw.MagickGetException(img, byref(severity)) - raise IOError('Failed to read image from: %s: %s' - %(path_to_image, msg)) - if not pw.MagickWriteImage(img, out_path): - raise RuntimeError('Failed to save image to %s'%out_path) - pw.DestroyMagickWand(img) - + img = Image() + img.open(path_to_image) + img.save(out_path) def default_cover(self, cover_file): ''' diff --git a/resources/recipes/standardmedia_ke.recipe b/resources/recipes/standardmedia_ke.recipe index bb5bf11623..b64f2d82f4 100644 --- a/resources/recipes/standardmedia_ke.recipe +++ b/resources/recipes/standardmedia_ke.recipe @@ -6,11 +6,10 @@ www.standardmedia.co.ke import os from calibre import strftime, __appname__, __version__ -import calibre.utils.PythonMagickWand as pw -from ctypes import byref from calibre.web.feeds.news import BasicNewsRecipe from calibre.constants import preferred_encoding +from calibre.utils.magick import Image class StandardMediaKeRecipe(BasicNewsRecipe): @@ -88,19 +87,9 @@ class StandardMediaKeRecipe(BasicNewsRecipe): self.cover_img_path = None def prepare_cover_image(self, path_to_image, out_path): - with pw.ImageMagick(): - img = pw.NewMagickWand() - if img < 0: - raise RuntimeError('Out of memory') - if not pw.MagickReadImage(img, path_to_image): - severity = pw.ExceptionType(0) - msg = pw.MagickGetException(img, byref(severity)) - raise IOError('Failed to read image from: %s: %s' - %(path_to_image, msg)) - if not pw.MagickWriteImage(img, out_path): - raise RuntimeError('Failed to save image to %s'%out_path) - pw.DestroyMagickWand(img) - + img = Image() + img.open(path_to_image) + img.save(out_path) def default_cover(self, cover_file): ''' diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index afb2a446d1..675e0fe7e1 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.7.12\n" -"POT-Creation-Date: 2010-07-30 19:04+MDT\n" -"PO-Revision-Date: 2010-07-30 19:04+MDT\n" +"Project-Id-Version: calibre 0.7.13\n" +"POT-Creation-Date: 2010-08-06 13:37+MDT\n" +"PO-Revision-Date: 2010-08-06 13:37+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -30,7 +30,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:428 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:402 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 @@ -38,16 +38,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1894 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1896 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:235 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:278 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:281 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:236 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:282 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:20 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:21 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:332 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 @@ -98,12 +98,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:240 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:242 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:234 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:236 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:287 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:294 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:812 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:815 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:826 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:829 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:22 @@ -117,14 +117,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:512 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:173 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:382 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:882 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1060 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:87 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:185 #: /home/kovid/work/calibre/src/calibre/library/cli.py:213 #: /home/kovid/work/calibre/src/calibre/library/database.py:913 @@ -135,7 +135,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:1646 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1648 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1770 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:268 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:199 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:134 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:137 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:68 @@ -251,7 +251,7 @@ msgid "This profile tries to provide sane defaults and is useful if you know not msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:57 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:412 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:414 msgid "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" @@ -260,62 +260,62 @@ msgid "This profile is intended for the SONY PRS 300." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:78 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:447 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:449 msgid "This profile is intended for the SONY PRS-900." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:86 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:477 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:479 msgid "This profile is intended for the Microsoft Reader." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:97 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:488 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:490 msgid "This profile is intended for the Mobipocket books." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:110 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:122 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:515 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:132 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:521 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:523 msgid "This profile is intended for the Cybook G3." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:145 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:534 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 msgid "This profile is intended for the Cybook Opus." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:157 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:545 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:547 msgid "This profile is intended for the Amazon Kindle." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:169 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:580 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:584 msgid "This profile is intended for the Irex Illiad." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:181 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:593 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:597 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:194 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:607 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:611 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:206 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:621 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:625 msgid "This profile is intended for the B&N Nook." msgstr "" @@ -327,59 +327,59 @@ msgstr "" 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:257 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:259 msgid "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:425 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:427 msgid "This profile is intended for the Kobo Reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:438 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 msgid "This profile is intended for the SONY PRS-300." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:456 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:458 msgid "This profile is intended for the 5-inch JetBook." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:465 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:467 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/profiles.py:563 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:566 msgid "This profile is intended for the Amazon Kindle DX." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:32 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 msgid "Installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:33 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Mapping for filetype plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 msgid "Local plugin customization" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:35 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 msgid "Disabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:36 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:37 msgid "Enabled plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:84 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:85 msgid "No valid plugin found in " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:468 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:478 msgid "Initialization of plugin %s failed with traceback:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:501 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 msgid "" " %prog options\n" "\n" @@ -387,27 +387,27 @@ msgid "" " " msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:507 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 msgid "Add a plugin by specifying the path to the zip file containing it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:509 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:519 msgid "Remove a custom plugin by name. Has no effect on builtin plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:511 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:521 msgid "Customize plugin. Specify name of plugin and customization string separated by a comma." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:513 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:523 msgid "List all installed plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:525 msgid "Enable the named plugin" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/ui.py:517 +#: /home/kovid/work/calibre/src/calibre/customize/ui.py:527 msgid "Disable the named plugin" msgstr "" @@ -415,11 +415,11 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:47 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:48 msgid "Comma separated list of directories to send e-books to on the device. The first one that exists will be used" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:90 msgid "Communicate with S60 phones." msgstr "" @@ -626,10 +626,10 @@ msgstr "" msgid "Communicate with the Kobo Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:51 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:54 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:57 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:159 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:56 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:161 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 @@ -639,32 +639,33 @@ msgstr "" msgid "Getting list of books on device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:219 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:263 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:265 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:253 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:271 msgid "Removing books from device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:274 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:269 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:276 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:278 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:283 msgid "Removing books from device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:313 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:315 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:247 msgid "Adding books to device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:364 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:441 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:365 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 msgid "\".kobo\" files do not exist on the device as books instead, they are rows in the sqlite database. Currently they cannot be exported or viewed." msgstr "" @@ -676,18 +677,14 @@ msgstr "" msgid "Communicate with the Booq Avant" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:57 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:58 msgid "Communicate with the Sweex MM300" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:77 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:78 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:103 -msgid "Communicate with the Promedia eBook reader" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "" @@ -919,75 +916,75 @@ msgstr "" msgid "Set font delta" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:178 msgid "Rendered %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:204 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:181 msgid "Failed %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:261 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:235 msgid "" "Failed to process comic: \n" "\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:253 msgid "Number of colors for grayscale image conversion. Default: %default. Values of less than 256 may result in blurred text on your device if you are creating your comics in EPUB format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:257 msgid "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:286 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:260 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:262 msgid "Disable sharpening." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:264 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/comic/input.py:293 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Don't split landscape images into two portrait images" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 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/comic/input.py:298 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 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/comic/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:276 msgid "Enable Despeckle. Reduces speckle noise. May greatly increase processing time." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:305 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:279 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/comic/input.py:309 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:283 msgid "The format that images in the created ebook are converted to. You can experiment to see which format gives you optimal size and look on your device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:313 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:287 msgid "Apply no processing to the image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:315 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:289 msgid "Do not convert the image to grayscale (black and white)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:452 -#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:463 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:426 +#: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:437 msgid "Page" msgstr "" @@ -1606,7 +1603,7 @@ msgstr "" msgid "Comic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 @@ -1615,11 +1612,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:887 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:543 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:550 msgid "Title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 @@ -1627,18 +1624,18 @@ msgstr "" msgid "Author(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:398 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:61 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 msgid "Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:399 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:400 #: /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:400 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:401 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:35 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:210 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 @@ -1650,7 +1647,7 @@ msgstr "" msgid "Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:408 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:409 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 @@ -1660,7 +1657,7 @@ msgstr "" msgid "Tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:410 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 @@ -1670,22 +1667,22 @@ msgstr "" msgid "Series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:411 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:412 msgid "Language" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:413 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:414 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1067 msgid "Timestamp" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:415 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:416 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 msgid "Published" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:417 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/__init__.py:418 msgid "Rights" msgstr "" @@ -1779,10 +1776,38 @@ msgstr "" msgid "No cover found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:15 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:27 msgid "Cover download" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:79 +msgid "Download covers from openlibrary.org" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:136 +msgid "ISBN: %s not found" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:117 +msgid "Download covers from librarything.com" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 +msgid "LibraryThing.com timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:135 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 +msgid "Could not fetch cover as server is experiencing high load. Please try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:139 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 +msgid "LibraryThing.com server error. Try again later." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/douban.py:42 msgid "Downloads metadata from Douban.com" msgstr "" @@ -1856,22 +1881,10 @@ msgstr "" msgid "The publisher of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:68 -msgid "LibraryThing.com timed out. Try again later." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:75 -msgid "Could not fetch cover as server is experiencing high load. Please try again later." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:76 msgid " not found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:79 -msgid "LibraryThing.com server error. Try again later." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:86 msgid "" "\n" @@ -2253,7 +2266,7 @@ msgstr "" msgid "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:200 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:194 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML first and then try it.\n" "%s" @@ -2404,7 +2417,7 @@ msgid "Disable UI animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:151 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:479 msgid "Copied" msgstr "" @@ -2416,7 +2429,7 @@ msgstr "" msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:397 msgid "Choose Files" msgstr "" @@ -2431,13 +2444,13 @@ msgid "User annotations generated from main library only" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:609 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:668 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:705 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:726 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:911 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:976 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1094 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:682 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:719 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:740 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:925 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1116 msgid "No books selected" msgstr "" @@ -2483,7 +2496,7 @@ msgid "Uploading books to device." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions.py:350 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:164 msgid "Books" msgstr "" @@ -2548,111 +2561,115 @@ msgid "Failed to read metadata from the following" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 msgid "Add to library" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions.py:429 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:459 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1238 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1285 msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:434 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:442 +msgid "The following books are virtual and cannot be added to the calibre library:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:448 msgid "No book files found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:470 msgid "Cannot delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:483 msgid "Choose formats to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:501 msgid "Choose formats not to be deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:507 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:521 msgid "Cannot delete books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:508 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:522 msgid "No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:518 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:532 msgid "Main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:519 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:533 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:430 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:439 msgid "Storage Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:520 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:534 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:432 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:441 msgid "Storage Card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:539 msgid "No books to delete" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:526 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:540 msgid "None of the selected books are on the device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:612 msgid "Deleting books from device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:564 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:578 msgid "The selected books will be permanently deleted and the files removed from your computer. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:597 msgid "The selected books will be permanently deleted from your device. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:608 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:622 msgid "Cannot download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:624 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:638 msgid "social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 msgid "covers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:640 msgid "metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:642 msgid "Downloading %s for %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:666 msgid "Failed to download some metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:653 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 msgid "Failed to download metadata for the following:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:670 msgid "Failed to download metadata:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:671 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:602 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:550 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/__init__.py:962 @@ -2660,127 +2677,136 @@ msgstr "" msgid "Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:667 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:681 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:718 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:725 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:739 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:742 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:743 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:733 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:747 msgid "All book formats and metadata from the selected books will be added to the first selected book.

The second and subsequently selected books will not be deleted or changed.

Please confirm you want to proceed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:744 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:758 msgid "All book formats and metadata from the selected books will be merged into the first selected book.

After merger the second and subsequently selected books will be deleted.

All book formats of the first selected book will be kept and any duplicate formats in the second and subsequently selected books will be permanently deleted from your computer.

Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:756 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:770 msgid "You are about to merge more than 5 books. Are you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:910 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:924 msgid "Cannot save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:913 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:927 msgid "Choose destination directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:946 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:933 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 +msgid "Not allowed" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:934 +msgid "You are tying to save files into the calibre library. This can cause corruption of your library. Save to disk is meant to export files from your calibre library elsewhere." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:968 msgid "Error while saving" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:947 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:969 msgid "There was an error while saving." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:954 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:955 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 msgid "Could not save some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:956 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:978 msgid "Click the show details button to see which ones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 msgid "No books selected to generate catalog for" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:994 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1016 msgid "Generating %s catalog..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:999 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1021 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:264 msgid "No books found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1000 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1022 msgid "" "No books to catalog\n" "Check exclude tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1032 msgid "Catalog generated." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1013 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1035 msgid "Export Catalog Directory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1036 msgid "Select destination for %s.%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1030 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1052 msgid "Fetching news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1044 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1066 msgid " fetched." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1093 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1115 msgid "Cannot convert" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1122 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1144 msgid "Starting conversion of %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1238 -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1299 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1321 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1244 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1266 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1274 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1253 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1275 msgid "You are attempting to open %d books. Opening too many books at once can be slow and have a negative effect on the responsiveness of your computer. Once started the process cannot be stopped until complete. Do you wish to continue?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1284 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1300 +#: /home/kovid/work/calibre/src/calibre/gui2/actions.py:1322 msgid "%s has no available formats." msgstr "" @@ -2872,7 +2898,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:57 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 @@ -2927,14 +2953,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:570 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/config/config_ui.py:614 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:365 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:156 @@ -3590,38 +3616,38 @@ msgid "Set the metadata. The output file will contain as much of this metadata a msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:111 msgid "Choose cover for " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:118 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:119 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:127 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:128 msgid "

There was an error reading from file:
" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:136 msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "Book Cover" msgstr "" @@ -3630,28 +3656,28 @@ msgid "Use cover from &source file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Change &cover image:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "Browse for an image to use as the cover of this book." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:173 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 msgid "Change the title of this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 msgid "&Author(s): " msgstr "" @@ -3665,24 +3691,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 msgid "&Publisher: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 msgid "Ta&gs: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:169 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:180 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 msgid "&Series:" msgstr "" @@ -3690,13 +3716,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:175 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 msgid "List of known series. You can add new series." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid "Book " msgstr "" @@ -4507,6 +4533,14 @@ msgstr "" msgid "The folder %s is not empty. Please choose an empty folder" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +msgid "No location selected" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:66 msgid "Choose your calibre library" msgstr "" @@ -5246,7 +5280,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:889 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 msgid "Date" msgstr "" @@ -5596,19 +5630,19 @@ msgid "Author s&ort: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:161 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:162 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:163 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:164 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 msgid "Rating of this book. 0-5 stars" msgstr "" @@ -5617,7 +5651,7 @@ msgid "No change" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 msgid " stars" msgstr "" @@ -5627,8 +5661,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 msgid "Open Tag Editor" msgstr "" @@ -5668,213 +5702,235 @@ msgid "Remove &stored conversion settings for the selected books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "&Basic metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "&Custom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:94 msgid "Last modified: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:135 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:150 +msgid "Specify title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:151 +msgid "You must specify a title and author before generating a cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:163 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:194 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:195 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:223 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:234 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:235 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:264 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:289 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:290 msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:327 msgid "Abort the editing of all remaining books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:445 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:470 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:473 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:552 msgid "Cannot use tag editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 msgid "The tags editor cannot be used if you have modified the tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:553 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:573 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:565 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:570 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:585 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:601 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:566 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:577 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:586 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:597 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:602 msgid "Could not fetch cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:587 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:591 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:583 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:603 +msgid "For the error message from each cover source, click Show details below." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:610 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:584 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:644 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:618 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:647 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:674 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:723 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:750 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:751 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:360 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:361 msgid "Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 msgid "Swap the author and title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:367 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:369 msgid "Automatically create the author sort entry based on the current author entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 msgid "IS&BN:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 msgid "Publishe&d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 msgid "dd MMM yyyy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "&Date:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 msgid "&Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 msgid "&Fetch metadata from server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 msgid "Available Formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove the selected formats for this book from the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Download &cover" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 +msgid "Generate a default cover based on the title and author" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +msgid "&Generate cover" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:56 msgid "Password needed" msgstr "" @@ -7091,10 +7147,6 @@ msgstr "" msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:566 -msgid "Not allowed" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:567 msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgstr "" @@ -7190,7 +7242,7 @@ msgid "Do not check for updates" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:598 msgid "Calibre Library" msgstr "" @@ -7301,11 +7353,11 @@ msgstr "" msgid "ERROR: Unhandled exception" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:93 msgid "Book has neither title nor ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:119 msgid "No matches found for this book" msgstr "" @@ -8111,50 +8163,50 @@ msgstr "" msgid "Hide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:370 msgid "If you use the WordPlayer e-book app on your Android phone, you can access your calibre book collection directly on the device. To do this you have to turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:374 msgid "Remember to leave calibre running as the server only runs as long as calibre is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:376 msgid "You have to add the URL http://myhostname:8080 as your calibre library in WordPlayer. Here myhostname should be the fully qualified hostname or the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:453 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:466 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:470 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:524 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:522 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:525 msgid "

An invalid library already exists at %s, delete it before trying to move the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:536 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:590 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:665 msgid "welcome wizard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 @@ -8162,7 +8214,7 @@ msgid "Welcome to calibre" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 @@ -8181,15 +8233,15 @@ msgstr "" msgid "&Devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 msgid "

Congratulations!

You have successfully setup calibre. Press the %s button to apply your settings." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 msgid "

Demo videos

Videos demonstrating the various features of calibre are available online." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 msgid "

User Manual

A User Manual is also available online." msgstr "" @@ -8973,7 +9025,7 @@ msgstr "" msgid "Replace whitespace with underscores." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:258 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:263 msgid "Requested formats not available" msgstr "" @@ -9060,7 +9112,7 @@ msgstr "" msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:542 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:549 msgid "Newest" msgstr "" @@ -9294,67 +9346,67 @@ msgstr "" msgid "Do not download latest version of builtin recipes from the calibre server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:47 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:46 msgid "Unknown News Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:610 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:609 msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:709 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:708 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:711 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:710 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:717 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:716 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:719 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:718 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:721 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:720 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:810 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:809 msgid "Could not fetch article. Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:831 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:830 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:836 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:835 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:842 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:841 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:844 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:843 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:925 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:924 msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:941 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:940 msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:951 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:950 msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:963 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:962 msgid "Downloading cover from %s" msgstr "" @@ -9362,27 +9414,27 @@ msgstr "" msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1193 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1264 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1275 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1292 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1439 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 msgid "Failed to log in, check your username and password for the calibre Periodicals service." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1455 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1434 msgid "You do not have permission to download this issue. Either your subscription has expired or you have exceeded the maximum allowed downloads for today." msgstr ""