diff --git a/Changelog.yaml b/Changelog.yaml index 7c00578382..a2e9130065 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -19,6 +19,75 @@ # new recipes: # - title: +- version: 0.9.23 + date: 2013-03-15 + + new features: + - title: "New tool: \"Edit ToC\" that allows you to edit or create a Table of Contents easily in EPUB or AZW3 ebooks." + type: major + description: "Using the Edit ToC tool, you can easily re-arrange the entries in an existing Table of Contents, change their text and even change the location they point to by simply clicking the new location in the book. To use this tool, go to Preferences->Toolbar and add the Edit ToC tool to the main toolbar. Then simply select the books you want to be polished and click the Edit ToC button. This tool is based on a new codebase, so there may be bugs." + + - title: "Content server: Enable use of plugboards for mobi and azw3 formats" + + - title: "Windows driver for Tolino Shine" + tickets: [1153536] + + - title: "When copying books to another library, show the name of the destination library in the copy dialog" + tickets: [1153407] + + - title: "Allow running plugins from the command line with calibre-debug easily" + + bug fixes: + - title: "PDF Output: Fix bug causing left and right margins to be applied to the cover page. Also fix the preserve cover aspect ratio option not working correctly" + + - title: "PDF Output: Fix javascript dialog box popping up in the middle on converting very long documents." + tickets: [1154948] + + - title: "MOBI metadata: When setting the language in a MOBI file also update the language field in the EXTH header." + tickets: [1154351] + + - title: "MOBI metadata: Support writing of book producer field into MOBI files." + tickets: [1154353] + + - title: "Fix job progress and status not always updated" + tickets: [1154137] + + - title: "Fix conversion of zip.rar archives with very long title/author on windows" + tickets: [1153859] + + - title: "News download: Update the library used to parse RSS feeds." + tickets: [1152852] + + - title: "Fix Irex Illiad not recognized on OS X computers" + tickets: [824713] + + - title: "Fix entering a very long search in the find item in tag browser box causes the tag browser to no longer be shrinkable." + tickets: [1152870] + + - title: "Fix a bug in the zsh completion when converting for ebook-convert with PDF output" + + improved recipes: + - Various Polish news sources + - Harpers Full + - kath.net + - Smithsonian + + new recipes: + - title: Deccan Herald + author: Muruli Shamanna + + - title: What If + author: kisnick + + - title: The Friday Times + tickets: Krittika Goyal + + - title: Computer Woche + author: Maria Seliger + + - title: Lamebook + author: atordo + - version: 0.9.22 date: 2013-03-08 diff --git a/recipes/kellog_insight.recipe b/recipes/kellog_insight.recipe index db5c7265b9..ddd0ae9adb 100644 --- a/recipes/kellog_insight.recipe +++ b/recipes/kellog_insight.recipe @@ -17,12 +17,14 @@ class KellogInsight(BasicNewsRecipe): no_stylesheets = True encoding = 'utf-8' language = 'en' + auto_cleanup = True + use_embedded_content = False oldest_article = 60 - keep_only_tags = [dict(name='div', attrs={'id':['print_no_comments']})] + #keep_only_tags = [dict(name='div', attrs={'id':['print_no_comments']})] - remove_tags = [dict(name='div', attrs={'class':'col-three'})] + #remove_tags = [dict(name='div', attrs={'class':'col-three'})] extra_css = ''' h1{font-family:arial; font-size:medium; color:#333333;} diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 82ba3a99ba..88fb2bc1da 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -4,7 +4,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = u'calibre' -numeric_version = (0, 9, 22) +numeric_version = (0, 9, 23) __version__ = u'.'.join(map(unicode, numeric_version)) __author__ = u"Kovid Goyal " diff --git a/src/calibre/gui2/actions/catalog.py b/src/calibre/gui2/actions/catalog.py index a6c0877049..fbc8181d8e 100644 --- a/src/calibre/gui2/actions/catalog.py +++ b/src/calibre/gui2/actions/catalog.py @@ -5,7 +5,7 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import re, os, shutil +import re, os, shutil, errno from PyQt4.Qt import QModelIndex @@ -93,6 +93,15 @@ class GenerateCatalogAction(InterfaceAction): if export_dir: destination = os.path.join(export_dir, '%s.%s' % ( sanitize_file_name_unicode(job.catalog_title), job.fmt.lower())) - shutil.copyfile(job.catalog_file_path, destination) - + try: + shutil.copyfile(job.catalog_file_path, destination) + except EnvironmentError as err: + if getattr(err, 'errno', None) == errno.EACCES: # Permission denied + import traceback + error_dialog(self, _('Permission denied'), + _('Could not open %s. Is it being used by another' + ' program?')%destination, det_msg=traceback.format_exc(), + show=True) + return + raise diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 1ee625425b..650a25803b 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.9.22\n" -"POT-Creation-Date: 2013-03-10 19:35+IST\n" -"PO-Revision-Date: 2013-03-10 19:35+IST\n" +"Project-Id-Version: calibre 0.9.23\n" +"POT-Creation-Date: 2013-03-15 08:52+IST\n" +"PO-Revision-Date: 2013-03-15 08:52+IST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -79,9 +79,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:120 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:122 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:476 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:478 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:480 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:488 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:490 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/mobi.py:492 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1193 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1304 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:44 @@ -182,8 +182,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:3504 #: /home/kovid/work/calibre/src/calibre/library/database2.py:3506 #: /home/kovid/work/calibre/src/calibre/library/database2.py:3643 -#: /home/kovid/work/calibre/src/calibre/library/server/content.py:252 -#: /home/kovid/work/calibre/src/calibre/library/server/content.py:253 +#: /home/kovid/work/calibre/src/calibre/library/server/content.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/content.py:251 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:247 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:160 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:163 @@ -335,304 +335,309 @@ msgid "Fine tune your ebooks" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 -msgid "Delete books from your calibre library or connected device" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 +msgid "Edit the Table of Contents in your books" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 -msgid "Edit the metadata of books in your calibre library" +msgid "Delete books from your calibre library or connected device" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -msgid "Read books in your calibre library" +msgid "Edit the metadata of books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 -msgid "Download news from the internet in ebook form" +msgid "Read books in your calibre library" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 -msgid "Show a list of related books quickly" +msgid "Download news from the internet in ebook form" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 -msgid "Export books from your calibre library to the hard disk" +msgid "Show a list of related books quickly" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 -msgid "Show book details in a separate popup" +msgid "Export books from your calibre library to the hard disk" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +msgid "Show book details in a separate popup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 #: /home/kovid/work/calibre/src/calibre/gui2/actions/restart.py:14 msgid "Restart calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 msgid "Open the folder that contains the book files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 msgid "Send books to the connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:846 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Send books via email or the web also connect to iTunes or folders on your computer as if they are devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 #: /home/kovid/work/calibre/src/calibre/gui2/actions/help.py:16 msgid "Browse the calibre User Manual" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 msgid "Customize calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:862 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 msgid "Easily find books similar to the currently selected one" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Switch between different calibre libraries and perform maintenance on them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:873 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Copy books from the devce to your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 msgid "Edit the collections in which books are placed on your device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:883 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 msgid "Copy a book from one calibre library to another" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Make small tweaks to epub or htmlz files in your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:898 msgid "Find the next or previous match when searching in your calibre library in highlight mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:899 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:904 msgid "Choose a random book from your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:906 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:911 msgid "Search for books from different book sellers" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:922 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:927 msgid "Get new calibre plugins or update your existing ones" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:941 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:946 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:943 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:955 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:966 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:977 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:989 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:948 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:960 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:971 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:982 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:994 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:947 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:952 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:953 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:958 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:959 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:964 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:969 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:276 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:970 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:975 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:980 msgid "Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:981 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:986 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:987 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:992 msgid "Searching" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:993 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 msgid "Customize the way searching for books works in calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:998 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1003 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1000 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1011 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1022 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1005 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1016 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1027 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1004 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1009 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1014 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1015 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1020 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1025 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1026 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1031 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1036 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1033 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1045 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1057 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1069 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1038 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1050 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1062 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1074 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1037 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1042 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1043 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1048 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1049 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1054 msgid "Control how calibre exports files from its database to disk when using Save to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1055 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1060 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1061 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1066 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1067 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1072 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1073 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1078 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1083 msgid "Template Functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1080 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1140 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1152 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1163 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1174 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1085 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1145 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1157 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1168 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1179 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1084 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 msgid "Create your own template functions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1089 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1094 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1091 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1103 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1116 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1127 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1096 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1108 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1121 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1132 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1095 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1100 msgid "Setup sharing of books via email. Can be used for automatic sending of downloaded news to your devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1101 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1106 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1107 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1112 msgid "Setup the calibre Content Server which will give you access to your calibre library from anywhere, on any device, over the internet" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1114 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1119 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1120 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 msgid "Control how calibre downloads ebook metadata from the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1125 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1130 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/mtp_config.py:400 msgid "Ignored devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1131 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1136 msgid "Control which devices calibre will ignore when they are connected to the computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1138 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1143 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:296 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1144 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1149 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1150 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1155 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1156 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1161 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1166 msgid "Keyboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1167 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 msgid "Customize the keyboard shortcuts used by calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1172 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1177 #: /home/kovid/work/calibre/src/calibre/gui2/keyboard.py:110 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1178 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:1183 msgid "Miscellaneous advanced configuration" msgstr "" @@ -1278,7 +1283,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:37 -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:298 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 msgid "Kovid Goyal" msgstr "" @@ -1311,31 +1316,31 @@ msgstr "" msgid "Communicate with the Tolino Shine reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:212 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:214 msgid "Communicate with the Astak Mentor EB600" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:235 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:237 msgid "Communicate with the PocketBook 301 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:252 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:254 msgid "Communicate with the PocketBook 602/603/902/903/Pro 912 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:272 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:274 msgid "Communicate with the PocketBook 622 reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:285 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:287 msgid "Communicate with the PocketBook 360+ reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:295 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:297 msgid "Communicate with the PocketBook 701" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:326 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:328 msgid "Communicate with the Infibeam Pi2 reader." msgstr "" @@ -2287,7 +2292,7 @@ msgid "There is insufficient free space on the storage card" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:210 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:248 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdf/render/from_html.py:255 #, python-format msgid "Rendered %s" msgstr "" @@ -3821,12 +3826,12 @@ msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:46 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:616 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:623 msgid "This is not a MOBI file. It is a Topaz file." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/tweak.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:621 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:628 msgid "This is not a MOBI file." msgstr "" @@ -3848,8 +3853,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/writer8/toc.py:15 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1286 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:252 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:194 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:221 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/toc.py:219 msgid "Table of Contents" @@ -3920,11 +3926,11 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:629 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:636 msgid "This MOBI file does not contain a KF8 format book. KF8 is the new format from Amazon. calibre can only edit MOBI files that contain KF8 books. Older MOBI files without KF8 are not editable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:635 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/container.py:642 msgid "This MOBI file contains both KF8 and older Mobi6 data. calibre can only edit MOBI files that contain only KF8 data." msgstr "" @@ -3950,6 +3956,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/main.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:197 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:132 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 @@ -4084,18 +4091,18 @@ msgstr "" msgid "Smartened punctuation in: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:88 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:94 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:125 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:131 #, python-format msgid "No file named %s exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:98 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:135 #, python-format msgid "No HTML file named %s exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/polish/toc.py:145 #, python-format msgid "The anchor %(a)s does not exist in file %(f)s" msgstr "" @@ -4424,6 +4431,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:328 #: /home/kovid/work/calibre/src/calibre/gui2/actions/polish.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:271 msgid "No books selected" msgstr "" @@ -4800,7 +4808,7 @@ msgid "Found no errors in your calibre library database. Do you want calibre to msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:427 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:975 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:1017 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/restore_library.py:114 @@ -4828,7 +4836,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:538 #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:543 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:284 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:1021 msgid "Not allowed" @@ -4938,28 +4946,36 @@ msgid "No library found at %s" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:239 -msgid "Copying" +msgid "Copying to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:250 -msgid "Could not copy books: " +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:235 +msgid "Moving to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:251 #, python-format msgid "Copied %(num)d books to %(loc)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:253 +#, python-format +msgid "Moved %(num)d books to %(loc)s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:257 +msgid "Could not copy books: " +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:264 msgid "Auto merged" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:265 msgid "Some books were automatically merged into existing records in the target library. Click Show details to see which ones. This behavior is controlled by the Auto merge option in Preferences->Adding books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:285 msgid "You cannot use other libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH." msgstr "" @@ -5895,6 +5911,36 @@ msgstr "" msgid "About Get Books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:24 +msgid "Choose format to edit" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:28 +msgid "Choose which format you want to edit:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:40 +msgid "&All formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:62 +msgid "Edit ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:63 +msgid "K" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:113 +msgid "Cannot edit ToC" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/toc_edit.py:103 +#, python-format +msgid "Editing Table of Contents is only supported for books in the %s formats. Convert to one of those formats before polishing." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:31 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:288 msgid "Tweak Book" @@ -11728,7 +11774,6 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/search_ui.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:176 msgid "None" msgstr "" @@ -15998,105 +16043,173 @@ msgstr "" msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:112 msgid "Select a destination for the Table of Contents entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:132 msgid "Here you can choose a destination for the Table of Contents' entry to point to. First choose a file from the book in the left-most panel. The file will open in the central panel.

Then choose a location inside the file. To do so, simply click on the place in the central panel that you want to use as the destination. As you move the mouse around the central panel, a thick green line appears, indicating the precise location that will be selected when you click." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:145 msgid "&Name of the ToC entry:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:151 msgid "Currently selected destination:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:166 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:230 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:235 msgid "File:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:219 msgid "Top of the file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:175 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:205 -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:354 msgid "(Untitled)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:181 -#, python-format -msgid "Location: A <%s> tag inside the file" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:221 #, python-format msgid "Approximately %d%% from the top" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/location.py:227 +#, python-format +msgid "Location: A <%s> tag inside the file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:49 msgid "You can edit existing entries in the Table of Contents by clicking them in the panel to the left." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:51 msgid "Entries with a green tick next to them point to a location that has been verified to exist. Entries with a red dot are broken and may need to be fixed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:59 msgid "Create a &new entry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:98 -msgid "Move current entry up" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:63 +msgid "WARNING: calibre only supports the creation of linear ToCs in AZW3 files. In a linear ToC every entry must point to a location after the previous entry. If you create a non-linear ToC it will be automatically re-arranged inside the AZW3 file." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:79 +msgid "You can move this entry around the Table of Contents by drag and drop or using the up and down buttons to the left" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:100 +msgid "Change the &location this entry points to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:104 +msgid "&Remove this entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:114 +msgid "New entry &inside this entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:117 +msgid "New entry &above this entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:120 +msgid "New entry &below this entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:130 +msgid "&Flatten this entry" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:132 +msgid "All children of this entry are brought to the same level as this entry." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:171 +msgid "This entry points to an existing destination" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:174 +msgid "The location this entry points to does not exist" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:212 +msgid "Move current entry up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:218 msgid "Remove all selected entries" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:224 msgid "Move current entry down" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:226 msgid "&Expand all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:230 msgid "&Collapse all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:233 msgid "Double click on an entry to change the text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:330 msgid "Title: {0} Dest: {1}{2}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:361 #, python-format msgid "" "The location this entry point to does not exist:\n" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:253 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:450 #, python-format msgid "Edit the ToC in %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:466 #, python-format msgid "Loading %s, please wait..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:501 +#, python-format +msgid "Writing %s, please wait..." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:509 +msgid "Failed to write book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:510 +#, python-format +msgid "Could not write %s. Click \"Show details\" for more information." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:547 +msgid "Failed to load book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/toc/main.py:548 +#, python-format +msgid "Could not load %s. Click \"Show details\" for more information." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:70 #, python-format msgid "Convert book %(num)d of %(total)d (%(title)s)"