From 02703595e4ccb0fcd115b2695e770c870fa00d84 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 22 Jul 2011 10:54:47 -0600 Subject: [PATCH] IGN:Tag release --- src/calibre/ebooks/conversion/cli.py | 11 +- src/calibre/ebooks/mobi/debug.py | 8 +- src/calibre/ebooks/mobi/tbs_periodicals.rst | 62 +- src/calibre/translations/calibre.pot | 873 +++++++++++--------- 4 files changed, 533 insertions(+), 421 deletions(-) diff --git a/src/calibre/ebooks/conversion/cli.py b/src/calibre/ebooks/conversion/cli.py index 163f24e313..c605df0de4 100644 --- a/src/calibre/ebooks/conversion/cli.py +++ b/src/calibre/ebooks/conversion/cli.py @@ -210,12 +210,13 @@ def add_pipeline_options(parser, plumber): if rec.level < rec.HIGH: option_recommendation_to_cli_option(add_option, rec) - parser.add_option('--list-recipes', default=False, action='store_true', - help=_('List builtin recipes')) - def option_parser(): - return OptionParser(usage=USAGE) - + parser = OptionParser(usage=USAGE) + parser.add_option('--list-recipes', default=False, action='store_true', + help=_('List builtin recipe names. You can create an ebook from ' + 'a builtin recipe like this: ebook-convert "Recipe Name.recipe" ' + 'output.epub')) + return parser class ProgressBar(object): diff --git a/src/calibre/ebooks/mobi/debug.py b/src/calibre/ebooks/mobi/debug.py index a4d53d2395..d5fe96c4c4 100644 --- a/src/calibre/ebooks/mobi/debug.py +++ b/src/calibre/ebooks/mobi/debug.py @@ -941,7 +941,7 @@ class TBSIndexing(object): # {{{ def interpret_periodical(self, tbs_type, byts): ans = [] - def tbs_type_6(byts, psi=None, msg=None): # {{{ + def tbs_type_6(byts, psi=None, msg=None, fmsg='Unknown'): # {{{ if psi is None: # Assume parent section is 1 psi = self.get_index(1) @@ -967,7 +967,7 @@ class TBSIndexing(object): # {{{ if flags == 5: arg, consumed = decint(byts) byts = byts[consumed:] - ans.append('Unknown ??? (vwi)): %d'%(arg)) + ans.append('%s (vwi)): %d'%(fmsg, arg)) elif flags == 0: pass else: @@ -991,7 +991,9 @@ class TBSIndexing(object): # {{{ byts = tbs_type_6(byts, psi=psi, msg=('First article of ending section, relative to its' - ' parent\'s index')) + ' parent\'s index'), + fmsg=('Offset from start of record to beginning of' + ' starting section')) if byts: # We have a transition not just an opening first section psi = self.get_index(psi.index+1) diff --git a/src/calibre/ebooks/mobi/tbs_periodicals.rst b/src/calibre/ebooks/mobi/tbs_periodicals.rst index 9b21a8f3f8..83586cd5a2 100644 --- a/src/calibre/ebooks/mobi/tbs_periodicals.rst +++ b/src/calibre/ebooks/mobi/tbs_periodicals.rst @@ -1,7 +1,7 @@ Reverse engineering the trailing byte sequences for hierarchical periodicals =============================================================================== -In the following, *vwi* means variable width integer and *fvwi* means a vwi whose lowest four bits are used as a flag. +In the following, *vwi* means variable width integer and *fvwi* means a vwi whose lowest four bits are used as a flag. All the following information/inferences are from examining the output of kindlegen on a sample periodical. Given the general level of Amazon's incompetence, there are no guarantees that this information is the *best/most complete* way to do TBS indexing. Opening record ---------------- @@ -140,8 +140,6 @@ Records with a section transition In such a record there is a transition from one section to the next. As such the record must have at least one article ending and one article starting, except in the case of the first section. -TODO: Note you have to test the cases of first section, a single transition and multiple transitions. - 1. The first section:: Record #2: Starts at: 4096 Ends at: 8191 @@ -162,6 +160,64 @@ TODO: Note you have to test the cases of first section, a single transition and If there was more than one article at the start then the last byte would be replaced by: c4 n where n is the number of articles + 2. A record with a section transition and only one article from the ending section:: + + Record #9: Starts at: 32768 Ends at: 36863 + Contains: 6 index entries (2 ends, 2 complete, 2 starts) + TBS bytes: 83 80 80 90 1 d0 1 c8 1 d4 3 + Ends: + Index Entry: 1 (Parent index: 0, Depth: 1, Offset: 7758, Size: 26279) [Ars Technica] + Index Entry: 14 (Parent index: 1, Depth: 2, Offset: 31929, Size: 2108) [Trademarked keyword sales may soon be restricted in Europe] + Complete: + Index Entry: 15 (Parent index: 2, Depth: 2, Offset: 34045, Size: 1014) [Max and the Magic Marker for iPad: Review] + Index Entry: 16 (Parent index: 2, Depth: 2, Offset: 35059, Size: 1077) [iPad 2 steers itself into home console gaming territory with Real Racing 2 HD] + Starts: + Index Entry: 2 (Parent index: 0, Depth: 1, Offset: 34037, Size: 10368) [Neowin.net] + Index Entry: 17 (Parent index: 2, Depth: 2, Offset: 36136, Size: 1082) [Microsoft's Joe Belfiore still working on upcoming Zune hardware] + TBS Type: 011 (3) + Outer Index entry: 0 + Unknown (vwi: always 0?): 0 + Unknown (vwi: always 0?): 0 + First section index (fvwi): 1 + Extra bits (flag: always 0?): 0 + First article of ending section, relative to its parent's index (fvwi): 13 [14 absolute] + Last article of ending section w.r.t. starting section offset (fvwi): 12 [14 absolute] + Flags (always 8?): 8 + Article index at start of record or first article index, relative to parent section (fvwi): 13 [15 absolute] + Number of article nodes in the record (byte): 3 + + 3. A record with a section transition and more than one article from the ending section:: + + Record #11: Starts at: 40960 Ends at: 45055 + Contains: 7 index entries (2 ends, 3 complete, 2 starts) + TBS bytes: 83 80 80 a0 2 b5 4 1a f5 2 d8 2 e0 + Ends: + Index Entry: 2 (Parent index: 0, Depth: 1, Offset: 34037, Size: 10368) [Neowin.net] + Index Entry: 21 (Parent index: 2, Depth: 2, Offset: 40251, Size: 1057) [Windows Phone 7: Why it's failing] + Complete: + Index Entry: 22 (Parent index: 2, Depth: 2, Offset: 41308, Size: 1050) [RIM announces Android app support for Blackberry Playbook] + Index Entry: 23 (Parent index: 2, Depth: 2, Offset: 42358, Size: 1087) [Microsoft buys $7.5m worth of IPv4 addresses] + Index Entry: 24 (Parent index: 2, Depth: 2, Offset: 43445, Size: 960) [TechSpot: Apple iPad 2 Review] + Starts: + Index Entry: 3 (Parent index: 0, Depth: 1, Offset: 44405, Size: 6829) [OSNews] + Index Entry: 25 (Parent index: 3, Depth: 2, Offset: 44413, Size: 760) [OSnews Asks on Interrupts: The Results] + TBS Type: 011 (3) + Outer Index entry: 0 + Unknown (vwi: always 0?): 0 + Unknown (vwi: always 0?): 0 + First section index (fvwi): 2 + Extra bits (flag: always 0?): 0 + First article of ending section, relative to its parent's index (fvwi): 19 [21 absolute] + Number of article nodes in the record (byte): 4 + Offset from start of record to beginning of starting section (vwi)): 3445 + Last article of ending section w.r.t. starting section offset (fvwi): 21 [24 absolute] + Flags (always 8?): 8 + Article index at start of record or first article index, relative to parent section (fvwi): 22 [25 absolute] + + The difference to the previous case is the extra two bytes that encode the offset of the opening section from the start of the record. + + 4. TODO: A record with multiple transitions + Ending record ---------------- diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 7c751a5ef9..914c0f1e37 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.8.10\n" -"POT-Creation-Date: 2011-07-15 10:27+MDT\n" -"PO-Revision-Date: 2011-07-15 10:27+MDT\n" +"Project-Id-Version: calibre 0.8.11\n" +"POT-Creation-Date: 2011-07-22 09:50+MDT\n" +"PO-Revision-Date: 2011-07-22 09:50+MDT\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -21,20 +21,20 @@ msgid "Does absolutely nothing" msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:59 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:98 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:101 -#: /home/kovid/work/calibre/src/calibre/db/cache.py:112 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:103 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:106 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:117 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:99 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:100 #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:77 #: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:551 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:557 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:660 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:467 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:485 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:106 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:109 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 @@ -92,9 +92,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:125 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:159 #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:713 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:961 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:963 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:965 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:964 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:966 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:968 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:99 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1001 @@ -157,11 +157,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1194 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1197 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1282 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:232 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:233 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:252 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/bulk_download.py:120 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:364 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:161 #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single_download.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:166 @@ -172,14 +172,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:535 #: /home/kovid/work/calibre/src/calibre/library/database2.py:543 #: /home/kovid/work/calibre/src/calibre/library/database2.py:554 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2133 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3149 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3282 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2003 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2150 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3164 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3166 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3299 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:212 #: /home/kovid/work/calibre/src/calibre/library/server/content.py:213 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:233 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:243 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:156 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:159 #: /home/kovid/work/calibre/src/calibre/library/server/xml.py:79 @@ -823,7 +823,7 @@ msgstr "" msgid "Path to library too long. Must be less than %d characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/cache.py:126 +#: /home/kovid/work/calibre/src/calibre/db/cache.py:131 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:636 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:66 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:564 @@ -833,18 +833,18 @@ msgstr "" msgid "Yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/fields.py:110 +#: /home/kovid/work/calibre/src/calibre/db/fields.py:147 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1086 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/fields.py:112 +#: /home/kovid/work/calibre/src/calibre/db/fields.py:149 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:72 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1088 msgid "Card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/db/fields.py:114 +#: /home/kovid/work/calibre/src/calibre/db/fields.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:74 #: /home/kovid/work/calibre/src/calibre/library/database2.py:1090 msgid "Card B" @@ -858,11 +858,11 @@ msgstr "" msgid "Communicate with Android phones." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:110 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:113 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:162 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:166 msgid "Communicate with S60 phones." msgstr "" @@ -967,7 +967,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_browser/model.py:1134 #: /home/kovid/work/calibre/src/calibre/library/database2.py:330 #: /home/kovid/work/calibre/src/calibre/library/database2.py:343 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3011 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3028 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:171 msgid "News" msgstr "" @@ -975,8 +975,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2685 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:65 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:652 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2971 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2989 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2988 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3006 msgid "Catalog" msgstr "" @@ -1016,33 +1016,33 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:218 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:234 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:68 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:71 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:74 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:281 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:122 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:125 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:128 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:203 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:226 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:73 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:76 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:79 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:287 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:140 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:143 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:146 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:214 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:221 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:244 msgid "Getting list of books on device..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:264 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:268 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:255 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:257 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:273 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:275 msgid "Transferring books to device..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:285 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:299 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:409 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:444 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:310 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:415 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:450 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:297 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:328 msgid "Adding books to device metadata listing..." msgstr "" @@ -1050,24 +1050,24 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:309 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:114 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:125 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:361 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:393 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:367 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:399 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:334 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:352 msgid "Removing books from device..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:324 #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:329 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:397 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:404 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:341 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:346 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:403 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:410 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:359 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:364 msgid "Removing books from device metadata listing..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/bambook/driver.py:397 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:376 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:394 msgid "Sending metadata to device..." msgstr "" @@ -1271,20 +1271,24 @@ msgstr "" msgid "Communicate with the Kindle DX eBook reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:23 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:24 msgid "Communicate with the Kobo Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:51 -msgid "The Kobo supports only one collection currently: the \"Im_Reading\" list. Create a tag called \"Im_Reading\" " +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:53 +msgid "The Kobo supports several collections including " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:531 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:55 +msgid "Create tags for automatic management" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:537 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:388 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:532 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:538 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 "" @@ -1570,6 +1574,16 @@ msgstr "" msgid "Get device information..." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:100 +#, python-format +msgid "Failed to access files in the main memory of your device. You should contact the device manufacturer for support. Common fixes are: try a different USB cable/USB port on your computer. If you device has a \"Reset to factory defaults\" type of setting somewhere, use it. Underlying error: %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:113 +#, python-format +msgid "Failed to access files on the SD card in your device. This can happen for many reasons. The SD card may be corrupted, it may be too large for your device, it may be write-protected, etc. Try a different SD card, or reformat your SD card using the FAT32 filesystem. Also make sure there are not too many files in the root of your SD card. Underlying error: %s" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/user_defined/driver.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/device_user_defined.py:68 msgid "USB Vendor ID (in hex)" @@ -1752,37 +1766,37 @@ msgstr "" msgid "Options to control the look and feel of the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:146 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:148 #, python-format msgid "Modify the document text and structure using common patterns. Disabled by default. Use %(en)s to enable. Individual actions can be disabled with the %(dis)s options." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:154 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:156 #: /home/kovid/work/calibre/src/calibre/gui2/convert/search_and_replace.py:18 msgid "Modify the document text and structure using user defined patterns." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:163 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:165 msgid "Control auto-detection of document structure." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:173 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:175 msgid "Control the automatic generation of a Table of Contents. By default, if the source file has a Table of Contents, it will be used in preference to the automatically generated one." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:183 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:185 msgid "Options to set metadata in the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:186 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:188 msgid "Options to help with debugging the conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:212 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:214 msgid "List builtin recipes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:287 msgid "Output saved to" msgstr "" @@ -1913,7 +1927,7 @@ msgid "Remove spacing between paragraphs. Also sets an indent on paragraphs of 1 msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:369 -msgid "When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." +msgid "When calibre removes blank lines between paragraphs, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent (in em)." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:376 @@ -1925,193 +1939,197 @@ msgid "Insert a blank line between paragraphs. Will not work if the source file msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:389 +msgid "Set the height of the inserted blank lines (in em). The height of the lines between paragraphs will be twice the value set here." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:396 msgid "Remove the first image from the input ebook. Useful if the first image in the source file is a cover and you are specifying an external cover." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:404 msgid "Insert the book metadata at the start of the book. This is useful if your ebook reader does not support displaying/searching metadata directly." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:405 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:412 msgid "Convert plain quotes, dashes and ellipsis to their typographically correct equivalents. For details, see http://daringfireball.net/projects/smartypants" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:414 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:421 msgid "Read metadata from the specified OPF file. Metadata read from this file will override any metadata in the source file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:421 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:428 #, python-format msgid "Transliterate unicode characters to an ASCII representation. Use with care because this will replace unicode characters with ASCII. For instance it will replace \"%s\" with \"Mikhail Gorbachiov\". Also, note that in cases where there are multiple representations of a character (characters shared by Chinese and Japanese for instance) the representation based on the current calibre interface language will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:436 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:443 msgid "Preserve ligatures present in the input document. A ligature is a special rendering of a pair of characters like ff, fi, fl et cetera. Most readers do not have support for ligatures in their default fonts, so they are unlikely to render correctly. By default, calibre will turn a ligature into the corresponding pair of normal characters. This option will preserve them instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:448 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:455 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:452 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:459 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:457 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:464 msgid "The version of the title to be used for sorting. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:461 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:468 msgid "String to be used when sorting by author. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:465 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:472 msgid "Set the cover to the specified file or URL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:469 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:476 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:473 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:480 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:477 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:484 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:481 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:488 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:485 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:492 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:489 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:496 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:493 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:500 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:68 msgid "Set the tags for the book. Should be a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:497 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:504 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:501 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:508 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:505 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:512 msgid "Set the publication date." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:509 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:516 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:513 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:520 msgid "Enable heuristic processing. This option must be set for any heuristic processing to take place." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:518 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:525 msgid "Detect unformatted chapter headings and sub headings. Change them to h2 and h3 tags. This setting will not create a TOC, but can be used in conjunction with structure detection to create one." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:525 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:532 msgid "Look for common words and patterns that denote italics and italicize them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:530 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:537 msgid "Turn indentation created from multiple non-breaking space entities into CSS indents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:535 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:542 msgid "Scale used to determine the length at which a line should be unwrapped. Valid values are a decimal between 0 and 1. The default is 0.4, just below the median line length. If only a few lines in the document require unwrapping this value should be reduced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:543 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:550 msgid "Unwrap lines using punctuation and other formatting clues." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:547 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:554 msgid "Remove empty paragraphs from the document when they exist between every other paragraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:552 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:559 msgid "Left aligned scene break markers are center aligned. Replace soft scene breaks that use multiple blank lines withhorizontal rules." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:558 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:565 msgid "Replace scene breaks with the specified text. By default, the text from the input document is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:563 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:570 msgid "Analyze hyphenated words throughout the document. The document itself is used as a dictionary to determine whether hyphens should be retained or removed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:569 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:576 msgid "Looks for occurrences of sequential

or

tags. The tags are renumbered to prevent splitting in the middle of chapter headings." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:575 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:582 msgid "Search pattern (regular expression) to be replaced with sr1-replace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:580 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:587 msgid "Replacement to replace the text found with sr1-search." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:584 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:591 msgid "Search pattern (regular expression) to be replaced with sr2-replace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:589 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:596 msgid "Replacement to replace the text found with sr2-search." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:593 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:600 msgid "Search pattern (regular expression) to be replaced with sr3-replace." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:598 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:605 msgid "Replacement to replace the text found with sr3-search." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:700 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:707 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:758 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:765 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:765 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:772 msgid "Failed to parse date/time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:924 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:931 msgid "Converting input to HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:951 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:958 msgid "Running transforms on ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1047 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:1054 msgid "Creating" msgstr "" @@ -2597,7 +2615,7 @@ msgid "Producer" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:741 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:886 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:888 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/metadata_sources.py:157 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:229 msgid "Comments" @@ -2740,8 +2758,8 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1366 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1499 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:898 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1498 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:900 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/models.py:37 msgid "Cover" msgstr "" @@ -2839,11 +2857,11 @@ msgid "When present, use author sort field as author." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:30 -msgid "Don't add Table of Contents to end of book. Useful if the book has its own table of contents." +msgid "Don't add Table of Contents to the book. Useful if the book has its own table of contents." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:33 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:56 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:57 msgid "Title for any generated in-line table of contents." msgstr "" @@ -2859,7 +2877,11 @@ msgstr "" msgid "Ignore margins in the input document. If False, then the MOBI output plugin will try to convert margins specified in the input document, otherwise it will ignore them." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:113 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:50 +msgid "When adding the Table of Contents to the book, add it at the start of the book instead of the end. Not recommended." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:119 msgid "All articles" msgstr "" @@ -2867,70 +2889,70 @@ msgstr "" msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1500 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1499 msgid "Title Page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1501 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1500 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 msgid "Table of Contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1502 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1501 msgid "Index" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1503 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1502 msgid "Glossary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1504 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1503 msgid "Acknowledgements" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1505 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1504 msgid "Bibliography" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1506 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1505 msgid "Colophon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1507 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1506 msgid "Copyright" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1508 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1507 msgid "Dedication" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1509 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1508 msgid "Epigraph" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1510 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1509 msgid "Foreword" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1511 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1510 msgid "List of Illustrations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1512 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1511 msgid "List of Tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1513 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1512 msgid "Notes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1514 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1513 msgid "Preface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1515 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1514 msgid "Main Text" msgstr "" @@ -2941,12 +2963,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:176 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:881 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:941 #, python-format msgid "Book %(sidx)s of %(series)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:55 msgid "HTML TOC generation options." msgstr "" @@ -3472,7 +3494,7 @@ msgid "Choose Files" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:29 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:694 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:737 msgid "Books" msgstr "" @@ -3626,8 +3648,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/actions/store.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:30 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:186 msgid "No book selected" msgstr "" @@ -3958,7 +3980,7 @@ msgstr "" msgid "Starting conversion of %d book(s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:175 msgid "Empty output file, probably the conversion process crashed" msgstr "" @@ -4040,10 +4062,6 @@ msgstr "" msgid "Failed to delete some books, click the Show Details button for details." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:84 -msgid "Del" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:84 msgid "Remove books" msgstr "" @@ -4679,49 +4697,49 @@ msgstr "" msgid "Clear recently viewed list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:139 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:219 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227 msgid "Cannot view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:152 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167 msgid "Format unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:154 msgid "Selected books have no formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:155 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:128 msgid "Choose the format to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:168 #, python-format msgid "Not all the selected books were available in the %s format. You should convert them first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175 msgid "Multiple Books Selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:176 #, python-format 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/view.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:185 msgid "Cannot open folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:221 msgid "This book no longer exists in your library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:228 #, python-format msgid "%s has no available formats." msgstr "" @@ -4863,7 +4881,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:151 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:162 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:79 @@ -4901,10 +4919,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:90 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/search_ui.py:127 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:112 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:114 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:85 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:79 @@ -5031,10 +5049,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/convert/heuristics_ui.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/convert/htmlz_output_ui.py:44 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:158 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:77 #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:36 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:47 @@ -5070,7 +5088,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/sending_ui.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/template_functions_ui.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:87 #: /home/kovid/work/calibre/src/calibre/gui2/store/basic_config_widget_ui.py:37 #: /home/kovid/work/calibre/src/calibre/gui2/store/config/chooser/chooser_widget_ui.py:77 @@ -5649,15 +5667,15 @@ msgid "&Base font size:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:149 msgid "Font size &key:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 @@ -5770,90 +5788,95 @@ msgstr "" msgid "Control the look and feel of the output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:34 msgid "Original" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:35 msgid "Left align" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:36 msgid "Justify text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146 msgid "&Disable font size rescaling" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 msgid "Base &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:150 msgid "Wizard to help you choose an appropriate font size key" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 -msgid "Line &height:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146 -msgid "Input character &encoding:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 -msgid "Remove &spacing between paragraphs" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148 -msgid "Indent size:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:149 -msgid "

When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:150 -msgid " em" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:151 -msgid "Text justification:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:152 -msgid "&Linearize tables" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:153 -msgid "Extra &CSS" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:154 -msgid "&Transliterate unicode characters to ASCII" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:155 -msgid "Insert &blank line" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:156 -msgid "Keep &ligatures" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:157 -msgid "Smarten &punctuation" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:158 msgid "Minimum &line height:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:153 msgid " %" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:154 +msgid "Line &height:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:156 +msgid "Input character &encoding:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:157 +msgid "Remove &spacing between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:158 +msgid "Insert &blank line between paragraphs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:166 +msgid " em" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:160 +msgid "Text &justification:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:161 +msgid "&Linearize tables" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:162 +msgid "&Transliterate unicode characters to ASCII" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:163 +msgid "Keep &ligatures" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:164 +msgid "Extra &CSS" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:165 +msgid "

When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:167 +msgid "Smarten &punctuation" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:168 +msgid "&Indent size:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:169 +msgid "&Line size:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "" @@ -5917,33 +5940,33 @@ 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:180 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:824 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:884 msgid "Choose cover for " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:892 msgid "Cannot read" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:893 msgid "You do not have permission to read the file: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:203 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:841 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:901 msgid "Error reading file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:197 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:842 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:902 msgid "

There was an error reading from file:
" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:204 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:912 msgid " is not a valid picture" msgstr "" @@ -5968,7 +5991,7 @@ msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:165 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:74 msgid "Change the title of this book" msgstr "" @@ -5996,14 +6019,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:537 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1015 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1075 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:172 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:544 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:433 msgid "&Series:" msgstr "" @@ -6011,7 +6034,7 @@ 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:545 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:546 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:431 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:432 msgid "List of known series. You can add new series." msgstr "" @@ -6028,39 +6051,43 @@ msgstr "" msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:78 msgid "&Title for Table of Contents:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:79 msgid "Rescale images for &Palm devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:80 msgid "Use author &sort for author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:81 msgid "Disable compression of the file contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:82 msgid "Do not add Table of Contents to book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:83 msgid "Kindle options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:84 msgid "Periodical masthead font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:85 msgid "Personal Doc tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:86 +msgid "Put generated Table of Contents at &start of book instead of end" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:87 msgid "Ignore &margins" msgstr "" @@ -6171,15 +6198,23 @@ msgstr "" msgid "RB Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:134 msgid "No formats available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:135 msgid "Cannot build regex using the GUI builder without a book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:144 +msgid "Could not open file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:145 +msgid "Could not open the file, do you have it open in another program?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:175 msgid "Open book" msgstr "" @@ -6614,7 +6649,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:255 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:304 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:308 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1282 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1342 msgid "Undefined" msgstr "" @@ -6951,7 +6986,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:92 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:321 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:331 msgid "Generate catalog" msgstr "" @@ -7234,14 +7269,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:211 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/store/search/adv_search_builder_ui.py:209 #: /home/kovid/work/calibre/src/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py:181 msgid "&Title:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:98 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:198 msgid "&Author(s):" msgstr "" @@ -7502,7 +7537,7 @@ msgid "Standard metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:867 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:869 msgid "Custom metadata" msgstr "" @@ -7636,13 +7671,13 @@ msgid "Specify how the author(s) of this book should be sorted. For example Char msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1033 msgid "&Rating:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:531 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:532 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:974 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1034 msgid "Rating of this book. 0-5 stars" msgstr "" @@ -7712,7 +7747,7 @@ msgid "&Force numbers to start with:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:558 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1266 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1326 msgid "&Date:" msgstr "" @@ -7783,13 +7818,13 @@ msgid "Set from &ebook file(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:581 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:510 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:674 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:512 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:676 msgid "&Basic metadata" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:582 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:517 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:519 msgid "&Custom metadata" msgstr "" @@ -8740,7 +8775,7 @@ msgid "&Author:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1074 msgid "Ta&gs:" msgstr "" @@ -8966,7 +9001,7 @@ msgid "Rename the item in every book where it is used." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:112 msgid "Ctrl+S" msgstr "" @@ -9423,7 +9458,7 @@ msgid "Regular expression (?P)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:149 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1171 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1231 msgid "ISBN:" msgstr "" @@ -9934,66 +9969,66 @@ msgstr "" msgid "Unhandled exception" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:102 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:266 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:103 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:407 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:103 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:267 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:104 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:408 #, python-format msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:137 msgid "Specify how this book should be sorted when by title. For example, The Exorcist might be sorted as Exorcist, The." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:139 msgid "Title &sort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:147 msgid " The green color indicates that the current title sort matches the current title" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:150 msgid " The red color warns that the current title sort does not match the current title. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:213 msgid "Authors changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:214 msgid "You have changed the authors for this book. You must save these changes before you can use Manage authors. Do you want to save these changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:302 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.\n" "If the box is colored green, then text matches the individual author's sort strings. If it is colored red, then the authors and this text do not match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:307 msgid "Author s&ort:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:317 msgid " The green color indicates that the current author sort matches the current author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:320 msgid " The red color indicates that the current author sort does not match the current author. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:493 msgid "&Number:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:587 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:590 #, python-format msgid "" "Last modified: %s\n" @@ -10001,114 +10036,119 @@ msgid "" "Double click to view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:600 +#, python-format +msgid "Restore %s from the original" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:646 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:654 msgid "Set metadata for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:619 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:661 msgid "Add a format to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:668 msgid "Remove the selected format from this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:692 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:735 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:724 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:777 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:725 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:778 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:755 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:756 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:808 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:809 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:768 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:821 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:769 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:822 #, python-format msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:790 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:850 msgid "&Browse" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:792 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:852 msgid "T&rim" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:794 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:854 msgid "&Remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:800 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:860 msgid "Download co&ver" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:801 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:861 msgid "&Generate cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:911 msgid "Not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:935 msgid "Specify title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:876 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:936 msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:895 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:955 msgid "Invalid cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:896 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:956 msgid "Could not change cover as the image is invalid." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:923 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:983 msgid "This book has no cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:925 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:985 #, python-format msgid "Cover size: %(width)d x %(height)d pixels" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:981 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1041 msgid "stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1110 msgid "Tags changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1051 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1111 msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes. Apply changes?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1077 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1137 msgid "I&ds:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1078 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1138 #, python-format msgid "" "Edit the identifiers for this book. For example: \n" @@ -10116,38 +10156,38 @@ msgid "" "%s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1140 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1202 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1200 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1262 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1143 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1205 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1203 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1265 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1168 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1228 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1250 msgid "Invalid ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1169 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1229 msgid "Enter an ISBN" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1191 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1251 msgid "The ISBN you entered is not valid. Try again." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1215 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1275 msgid "&Publisher:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1345 msgid "Clear date" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1318 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/basic_widgets.py:1378 msgid "Publishe&d:" msgstr "" @@ -10227,7 +10267,7 @@ msgid "Previous" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:267 msgid "Edit Metadata" msgstr "" @@ -10277,54 +10317,54 @@ msgstr "" msgid "Change how calibre downloads metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:306 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:308 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:315 msgid "Could not read cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:309 #, python-format msgid "Could not read cover from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:316 #, python-format msgid "The cover in the %s format is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:458 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:465 #, python-format msgid "Save changes and edit the metadata of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:560 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:762 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:562 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:764 msgid "Change cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:619 msgid "Co&mments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:657 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:803 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:659 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:805 msgid "&Metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:664 msgid "&Cover and formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:731 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:733 msgid "C&ustom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:743 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:745 msgid "&Comments" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:809 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata/single.py:811 msgid "Basic metadata" msgstr "" @@ -12252,34 +12292,34 @@ msgstr "" msgid "Cannot remove the actions %s from this location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:108 -msgid "Choose the &toolbar to customize:" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:101 +msgid "Choose the toolbar to customize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:102 msgid "A&vailable actions" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:110 -msgid "&Current actions" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:111 -msgid "Move selected action up" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:113 -msgid "Move selected action down" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:103 msgid "Add selected actions to toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:105 msgid "Remove selected actions from toolbar" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:107 +msgid "&Current actions" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:108 +msgid "Move selected action up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:110 +msgid "Move selected action down" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:114 msgid "This tweak has it default value" msgstr "" @@ -13102,44 +13142,44 @@ msgstr "" msgid "First letter is usable only when sorting by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:70 #, python-format msgid "Convert book %(num)d of %(total)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:222 msgid "Could not convert some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:102 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:223 #, python-format msgid "Could not convert %(num)d of %(tot)d books, because no suitable source format was found." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:133 msgid "Queueing books for bulk conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:196 msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:197 #, python-format msgid "Convert book %(num)d of %(tot)d (%(title)s)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:271 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:344 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:345 #, python-format msgid "The following books have already been converted to %s format. Do you wish to reconvert them?" msgstr "" @@ -13412,7 +13452,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:794 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:795 msgid "Remember last used window size" msgstr "" @@ -13649,31 +13689,31 @@ msgstr "" msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:676 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:677 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:689 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:782 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:788 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:789 msgid "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:791 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:792 msgid "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:796 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:797 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:802 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:803 msgid "" "%prog [options] file\n" "\n" @@ -14057,7 +14097,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/caches.py:568 #: /home/kovid/work/calibre/src/calibre/library/caches.py:582 #: /home/kovid/work/calibre/src/calibre/library/caches.py:592 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:218 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:219 msgid "yes" msgstr "" @@ -14065,7 +14105,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/caches.py:567 #: /home/kovid/work/calibre/src/calibre/library/caches.py:579 #: /home/kovid/work/calibre/src/calibre/library/caches.py:589 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:218 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:219 msgid "no" msgstr "" @@ -14895,17 +14935,17 @@ msgstr "" msgid "%(tt)sAverage rating is %(rating)3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3308 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3325 #, python-format msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3337 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3354 #, python-format msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:3354 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:3371 msgid "Compacting database" msgstr "" @@ -15020,24 +15060,21 @@ msgid "Normally, calibre will convert all non English characters into English eq msgstr "" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:113 -msgid "The format in which to display dates. %d - day, %b - month, %Y - year. Default is: %b, %Y" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:116 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:117 #, python-format msgid "The format in which to display dates. %(day)s - day, %(month)s - month, %(year)s - year. Default is: %(default)s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:120 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:121 msgid "Convert paths to lowercase." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:122 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:123 msgid "Replace whitespace with underscores." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:381 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:414 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:382 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:415 msgid "Requested formats not available" msgstr "" @@ -15243,6 +15280,14 @@ msgstr "" msgid "Auto reload server when source code changes. May not work in all environments." msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:158 +msgid "Switch to the full interface (non-mobile interface)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:161 +msgid "The full interface gives you many more features, but it may not work well on a small screen" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:125 #, python-format msgid "%d book" @@ -15911,106 +15956,106 @@ msgstr "" msgid "Unknown News Source" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:630 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:632 #, python-format msgid "The \"%s\" recipe needs a username and password." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:736 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:738 msgid "Download finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:738 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:740 msgid "Failed to download the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:744 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:746 msgid "Failed to download parts of the following articles:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:746 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:748 msgid " from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:748 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:750 msgid "\tFailed links:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:843 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:845 msgid "Could not fetch article." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:845 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:847 msgid "The debug traceback is available earlier in this log" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:847 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:849 msgid "Run with -vv to see the reason" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:870 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:872 msgid "Fetching feeds..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:875 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:877 msgid "Got feeds from index page" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:884 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:886 msgid "Trying to download cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:886 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:888 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:966 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 #, python-format msgid "Starting download [%d thread(s)]..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:982 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:984 #, python-format msgid "Feeds downloaded to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:991 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:993 #, python-format msgid "Could not download cover: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1000 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1002 #, python-format msgid "Downloading cover from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1046 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1048 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1214 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1216 msgid "Untitled Article" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1285 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1287 #, python-format msgid "Article downloaded: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1296 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1298 #, python-format msgid "Article download failed: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1313 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1315 msgid "Fetching feed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1460 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1462 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:1475 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1477 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 "" @@ -16398,3 +16443,11 @@ msgstr "" #: /home/kovid/work/calibre/resources/default_tweaks.py:361 msgid "If you enable this option and restart calibre, the toolbar will be 'unified'\nwith the titlebar as is normal for OS X applications. However, doing this has\nvarious bugs, for instance the minimum width of the toolbar becomes twice\nwhat it should be and it causes other random bugs on some systems, so turn it\non at your own risk!" msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:368 +msgid "Save original file when converting from same format to same format" +msgstr "" + +#: /home/kovid/work/calibre/resources/default_tweaks.py:369 +msgid "When calibre does a conversion from the same format to the same format, for\nexample, from EPUB to EPUB, the original file is saved, so that in case the\nconversion is poor, you can tweak the settings and run it again. By setting\nthis to False you can prevent calibre from saving the original file." +msgstr ""